iOmega StorCenter ix2-200 magyar ékezetes karakterek kezelése WinSCP alatt
Ha szeretnél az iOmega StorCenter ix2-200 tárolóhoz biztonságosan kapcsolódni, akkor nagy valószínűséggel te is a beépített SFTP lehetőséget fogod használni. Ezzel viszont az a gond, hogy a WinSCP nem kezeli le a magyar ékezetes könyvtárneveket. Vagyis lekezeli, csak alapból hibásan. Mindenféle kriksz-kraksz jelenik meg helyettük. Ezt könnyen lehet orvosolni, ha a WinSCP Login ablakban az Environment (környezet) alatt az UTF-8 encoding for filenames (fájlnevek UTF-8 kódolásban) lehetőséget nem Auto értéken hagyjuk, hanem kézzel biztosítjuk, hogy bekapcsolva legyen. Tehát az On (Be) értékre állítjuk!
Ezek után a magyar ékezetes fájl és könyvtárnevek máris tökéletesen megjelennek!
iOmega StorCenter ix2-200 NFS Share csatolása routeren keresztül Citrix XenServer 6.0 kiszolgálóra
A feladat nem tűnik bonyolultnak, viszont abban a pillanatban, hogy a két eszköz közé egy routert teszünk, máris nem olyan barátságos, hiszen a változó RPC (rpc.mountd, rpc.statd, rpc.rquotad) portokat fixálni kell. Valamint az sem elhanyagolható tényező, hogy a megosztásunk a lehetőségekhez mérten a legbiztonságosabb legyen. Tehát a cikk erre is megpróbál majd kitérni.
NFS Share létrehozása az iOmega StorCenter ix2-200 eszközön:
- Lépjünk be a webfelületre (http://<IPofNAS>)
- Kapcsoljuk be az NFS megosztását (Network -> Protocols ->NFS = ON)
- Hozzunk létre egy új megosztást (Storage -> Shares ->Add a Share)
- Mivel még nem kapcsoltuk be a Security-t emiatt jelenleg az összes megosztás elérhető NFS protokoll segítségével
- Az NFS nagyon sok portot használ, amelyeket random választ ki a port mapper. Ez nekünk nem jó, mert egy cím fordított (NAT) hálózaton keresztül szeretnénk elérhetővé tenni az NFS megosztást. Emiatt kell a portmaper-t átkonfigurálni. Ehhez mindenképp SSH hozzáférésre lesz szükségünk, amelyet már leírtam, hogyan szerezhetünk meg. Ha beléptünk, akkor az 'rpcinfo -p' parancs segítségével állapíthatjuk meg, hogy jelenleg a mely portokon hallgatnak az RPC szolgáltatások, amelyeket át kell állítani.Az átállításhoz az következő parancsok lesznek segítségünkre:
- rpc.mountd -p <port>
- rpc.rquotad -p <port>
- rpc.statd -p <port>Ezzel csak annyi a gond, hogy a következő újraindításig jegyzi meg a beállítást, tehát nem valami életképes a megoldás. Sajnálatos módon, a hivatalos konfigurációs állomány a /etc/sysconfig/nfs nem létezik és ha kézzel létrehozzuk, sem használja a rendszer így másik megoldáshoz kell folyamodnunk. Gondoltam, hogy akkor meglovagolom a rendszerindítást. Először is ezért le kell menteni a parancsokat egy fájlba:
cat <<EOF > /etc/rc.nfs
rpc.mountd -p <port>
rpc.rquotad -p <port>
rpc.statd -p <port>
EOF - Ez az ötletem sem nyert, mert hiába vannak meg a /etc/rc.local és /etc/rc<x>.d/ könyvtárak, akkor sem futott le a rendszerindítás után a parancsom... Csak két megoldást sikerült kitalálnom, amelyek közül az egyik rosszabb mint a másik, de ez van. Nem valami szép megoldás, de legalább működnek. Az első, hogy eltávolítjuk a merevlemezeket és egy linux alapú rendszerre felcsatoljuk, ugyanis az md0 kötet rejti a /mnt/apps könyvtárat, amely tartalmazza a rendszerpartíciót, ahol módosítani kellene a betöltést. De ezt nem tudjuk az iOmega eszközben megtenni, mivel a partíció read only és újracsatolni sem tudjuk, mert device is busy. Ehhez egy leírást itt találtok.Mivel én nem szeretem megbontani az eszközt és piszkálni a rendszer, ami garancia vesztéshez vezethet, így inkább egy másik megoldást kerestem a problémára, ami talán egy picit humánusabb. Újraindítottam a rendszert és megnéztem, hogy mi zajlik le a boot folyamat során. Hátha találok egy olyan állományt, ami később inicializálódik mint az RPC (hiszen csak ezután lehet a portokat átállítani) és az az állomány talán egy szerkeszthető partíción lesz. Ennek megállapításához a '/var/log/messages' állományt használtam. meg is találtam benne, hogy az RPC inicializálódása után az egyetlen folyamat ami elindul még az a stls_all.sh állomány. Ezt meg is kerestem, hol található:
find / -name 'stls_all.sh' 2>/dev/null
Megtaláltam, hogy az otthona a /mnt/system/opt/apps/axis/stls/stls_dist/bin/ könyvtárban leledzik.
Így már gyorsan módosítható is a fájl. Először az állomány legvégén hívtam meg a beállításomat, de rá kellett jönnöm, hogy korábban kilép a szkript, így ott nem hajtódik végre. Emiatt a legelejére betettem, hogy /etc/rc.nfs.
Tehát most már minden rendszerindításnál meghívásra kerül az állományom, és az összes szolgáltatás már fix porton hallgat. Így képes leszek a port-forwarding konfigurálásra a routeren. - Kapcsoljuk be a Security-t hogy tényleg csak azt osszuk meg amit szeretnénk és kontrollálni tudjuk azt, ki férhet hozzá a megosztáshoz. Ehhez navigáljunk a System -> Security felületre és kapcsoljuk be (ON). Adjuk meg az rendszergazdai fiók nevét valamint a jelszavát. Javaslom, hogy a titkosítást is pipáljuk be.
- Hozzunk létre a rendszerünk számára a megfelelő felhasználói accountokat. (Common -> Users)
- A megosztásnál tiltsuk meg a publikus megosztást. Ehhez navigáljunk a Storage -> Shares alá, ahol válasszuk ki a megosztást és az Access Permissions alatt az Everyone user read és write jogán vonjuk meg.
- Engedélyezzük, hogy a megosztáshoz csak és kizárólag a Citrix XenServer férhessen hozzá. Ehhez maradjunk ahol voltunk, csak az Access Permissions alatt található NFS blokkot válasszuk ki. Itt kattintsunk az Add an NFS Rule gombra. A Hostname mezőbe pedig beírható, hogy mely állomásokról engedélyezzük a hozzáférést. A minta lehet IP vagy domain, de akár egy teljes címtartomány, ha <IP>/<MASZK> módban írjuk le. A rendszer elfogadja a teljes 255.255.255.0 maszkot illetve a /24 formát is.
- Opcionális észrevétel, ha több megosztást is használunk, akkor mindenhol tiltsuk le a hozzáférést az Everyone felhasználónak, ugyanis ha az bármelyik megosztás esetében bent marad, akkor az távolról NFS segítségével szabadon felcsatolható. Valamint jelen pillanatban a megosztást lokálisan nem lehet elérni, mert nincs senkinek sem joga hozzá. Így érdemes egy felhasználót / csoportot hozzáadni az Access Permissions alatt, aki lokálisan is képes a Repository-t szerkeszteni.
- Az NFS szervert állítsuk be, hogy minden felhasználót kezeljen vendégként, azaz ne legyen teljes hozzáférése. Ehhez navigáljunk a Network -> Protocols alá, majd az NFS mellett található fogaskerékre kattintsunk, amellyel lekérhető a beállítása (settings). Itt pedig válasszuk ki a 'Treat client users as guest (all_squash)' lehetőséget.
NFS Port-Forwarding konfigurálása routeren:
- Jelentkezz be a routered admin felületén
- Keresd meg a port-forwarding opciót, vagy a portrange-forwarding lehetőséget, ha van
- Állítsd be a portokat:
- 111 TCP & UDP -> IPofNAS (portmap)
- 2049 TCP & UDP -> IPofNAS (NFS)
- TCP & UDP RPC.Mountd -> IPofNAS
- TCP & UDP RPC.Statd-> IPofNAS
- UDP RPC.Rquotad -> IPofNASSzemély szerint javaslom, hogy az RPC portokat 2050-2052 közé állítsd be, mert akkor az NFS portal együtt, mint portrange forwarding lehet beállítani, így 1 db bejegyzéssel leírható, a normális 4db helyett. - Hogy kívülről is hozzá tudjunk férni hálózatunkhoz, szükségünk lesz egy FIX IP címre. Ha ilyet nem tudunk / nek akarunk bérelni a szolgáltatótól, akkor pedig a routeren egy DDNS accountot kell készíteni. Ennek menetét nem írom le, de javaslom a dyndns.org használatát.
NFS Share csatolása a Citrix XenServer 6.0 szerveren:
- Csatlakozzunk a szerverhez / poolhoz a XenCenter segítségével.
- Hozzunk létre egy új Storage-t (Storage tab -> New SR)
- A varázsló segítségével adjuk meg, milyen storage-ot szeretnénk csatolni (ISO Library or NFS VHD)
- Adjunk nevet a megosztásnak.
- Majd a Location résznél a megosztás elérhetőségét kell megadni. Ez két részből áll. Első a szerver elérhetősége IP címmel vagy domain névvel. A második az NFS megosztás elérhetősége a szerveren.
<PublicIPofNAS>:<NFSLocation>
Az IP címet vagy tudjuk, vagy dyndns segítségével naprakészen tartjuk. Az NFS megosztás helyét pedig az iOmega eszköz pontosan megadja, csak navigáljunk a webes felületen a Storage -> Shares alá. Itt válasszuk ki a megosztásunk nevét, majd alatta lesz egy NFS block, amelyre ha kattintunk, előjön a megosztás helye.
Locaton:<NFSLocation> - A megszerzett információkkal sikeresen csatolható az NFS megosztás.
iOmega StorCenter ix2-200 Cloud Edition
Ez az írás csak egy szűk közönséget érdekelhet illetve engem, ha még egyszer valami miatt elő szeretném venni mit is csináltam pontosan. Ugyanis ez a post arról fog szólni, hogyan kell SSH hozzáférést beállítani az iOmega StorCenter ix2-200 Cloud Edition eszközön, valamint szoftvereket telepíteni és használni.
SSH Hozzáférés
Az iOmega StorCenter ix2-200 család esetén erre több mód is van, de a legkényelmesebb, hogy a webes felületen a következő oldalra lépünk: http://<NAS-IP>/diagnostics.html
(amennyiben csak a sima változattal, azaz nem cloud edition akkor a http://<NAS-IP>/support.html fog kelleni)
Itt értelem szerűen az "Allow remote access for support (SSH and SFTP)" lehetőséget pipáljuk be, majd Apply és Restart.
Ezek után Putty segítségével csatlakozhatunk az eszközhöz. Felhasználói név root a jelszó pedig soho + "webUI admin jelszava". Tehát ehhez aktiválni kell a Security modult a webes felületen és be kell állítani az admin felhasználót. Ha a nas-t adtuk meg jelszónak, akkor a jelszó sohonas lenne.
Szoftverek telepítése
Mivel a gyári szoftver nagyon lecsupaszított emiatt általam eddig ismeretlen csomagkezelőt javasoltak több fórumon is, ami tutira működik. Hát igen, mert az apt-get több hibával is nagyon csúnyán elszáll. Így nincs más hátra mint az ipkg csomagkezelőt belőni. Ehhez csak annyit kell tenni, hogy egy konfig fájlban meghatározzuk hol található a csomag repo.
cat <<EOF > /etc/ipkg.conf
src cross http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable
src native http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/native/unstable
EOF
Innentől pedig már majdnem a szokott módon használható:
- ipkg update
- ipkg upgrade
- ipkg list
- ipkg list_installed
- ipkg search <csomag neve>
- ipkg install <csomag neve>
- ipkg remove <csomag neve>
Viszont a telepített szoftvereket a /opt/bin/ mappába helyezi így a programokat onnan kell futtatni. Ez elkerülhető két módon is. Az első esetben az egész /opt/bin/ könyvtárat a $PATH környezeti változóhoz hozzáfűzzük.
PATH=/opt/bin/:$PATH
Így minden ott lévő állományra működni fog a parancsfuttatás és parancskiegészítés. Nem biztos, hogy ez a legjobb megoldás, mert más állományok is találhatók itt amiket nem mi telepítettünk.
Véleményem szerint a szebb megoldást az Alias alkalmazása adja. Az eredmény pedig ugyan olyan jó. De ezzel elkerüljük, hogy egy teljes könyvtárat "globálissá" tegyünk.
alias <parancs>='/opt/bin/<parancs>'
Konkrétan az MC-re ez: alias mc='/opt/bin/mc'
Frissítés:
Ezekkel az utasításokkal csak annyi a gond, hogy nem perzisztens a rendszerre nézve, tehát újraindítás után elveszik. Mivel a NAS egy nagyon kiszuperált Debian 5.0.6 verziót használ SH shell kíséretében, méghozzá úgy hogy a root felhasználó home könyvára a gyökér, tehát a "/". Ez egy kicsit megbonyolította a dolgot, hiszen így nincs más lehetőségünk mint globálisan megpiszkálni a $PATH változót, hogy újraindítás után is megmaradjon. Ehhez csak a következőt kell tenni:
Nyissuk meg a kedvenc szövegszerkesztőnkkel (vi, nano, mcedit) a /etv/profile állományt, ahol a következőt kellene látni:
if [ "`id -u`" -eq 0 ]; then PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" else PATH="/usr/local/bin:/usr/bin:/bin:/usr/games" fi
Itt kellene a PATH változóhoz hozzáadni a /opt/bin könyvtárat. Ha megelégszünk azzal, hogy csak a root felhasználó esetén legyen parancskiegészítés akkor elegendő az első sort módosítani, ha a többi felhasználóhoz is szeretnénk ezt megtenni, akkor pedig a második sorhoz is.
if [ "`id -u`" -eq 0 ]; then PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin" else PATH="/usr/local/bin:/usr/bin:/bin:/usr/games:/opt/bin" fi