Adott egy linuxos szerver, ami a benne lévő sok merevlemez tartalmát iSCSI-n keresztül ajánlja ki a többi szervernek, valamint egy Windows Server 2003 szerver, akinél a kiajánlott tárhely kezdett vészesen kevésnek bizonyulni. Nosza, gondoltuk, mivel volt még egy kis tartalék az iscsi-s gépben, megnöveljük az adott kötetet. Ám ez azért nem ment olyan simán, leizzadtunk közben párszor, volt néhány buktató:)
iSCSI kötet leválasztása
Először le akartam választani az iSCSI kötetet a windowsos gépen, hogy nyugodtan meg lehessen növelni. Azonban az iSCSI Initiator a következő hibaüzenetet adta:
The session cannot be logged out since a device on that session is currently being used.
Ki foghatja a kötetet? Process Explorer segítségével a Find handle.. parancssal könnyen meg lehetett találni a kötet betűjelére rákeresve. Bezárva azokat a programokat azonban még mindig nem lehetett kijelentkezni az adott iSCSI célról a kezdeményező programban. Az eseménynaplóban ennyi segítség volt:
Event Type: Information Event Source: PlugPlayManager Event Category: None Event ID: 271 Date: 2009. 07. 21. Time: 10:47:26 User: N/A Description: The Plug and Play operation cannot be completed because a device driver is preventing the device from stopping. The name of the device driver is listed as the vetoing service name below. Vetoed device: SCSI\DISK&VEN_IET_____&PROD_VIRTUAL-DISK____&REV_0___\1&2AFD7D61&0&000000 Vetoing device: STORAGE\Volume\1&30a96598&0&Signature89894C80Offset7E00Length3DCFC9AA00 Vetoing service name: FileSystem\Ntfs Veto type 6: PNP_VetoDevice When Windows attempts to install, upgrade, remove, or reconfigure a device, it queries the driver responsible for that device to confirm that the operation can be performed. If any of these drivers denies permission (query-removal veto), then the computer must be restarted in order to complete the operation. User Action Restart your computer.
Túl sok opciót nem hagyott az újraindításon kívül:) Végül az összes távoli kapcsolatot lezárva és a konzolon belépve sikerült újraindítás nélkül is kijelentkeznem a célról.
Kötet megnövelése
Ezután Linux alatt az lvm-ben Dani gyorsan meg is növelte a logikai kötetet. Visszacsatlakoztattuk a windowsos szerveren az iSCSI kötetet, és akkor jött a második probléma: ez még csak Windows Server 2003 volt, és ott a Disk Managementben a grafikus felületen még nincsen Extend opció, nem lehet partíciót megnövelni. Azt sajnos elfelejtettem, hogy a diskpart.exe-t kell ilyenkor megnézni:
Úgyhogy helyette vissza a Linuxra, és ott a jó öreg fdisk elvégezte a partíció megnövelését. Igen, csak most volt egy 320 GB-os logikai kötetünk, rajta egy 320 GB-os elsődleges partíció, és azon egy 250 GB-os NTFS fájlrendszer:-) Az ntfsresize nevű program a segítőnk ilyenkor, azonban az nem látta a logikai köteten lévő fájlrendszert. Persze, hiszen a logikai köteten nem közvetlenül egy fájlrendszer, hanem még egy hagyományos partíciós tábla is van. Hogy lehetne rávenni a Linuxot, hogy a logikai kötetbe eldugott partíciókat külön blokkos eszközként kezelje? Dani és Zee elkezdett hevesen valami megoldás után kutatni (loopback device beállítása losetuppal és az offset kézi megadása), azonban amikor a következő mondat elhangzott – “… igen ilyesmivel a mútkor elég sok időm elment mire rájöttem, ez a script megcsinálta végül, csak előtte a teljes fájlrendszert tönkretette” – gyorsan elkezdtünk valami failback terven gondolkodni:-). Szerencsére sikerült megtalálni az alábbi KB cikket:
A diskpart.exe-nek van egy extend filesystem opciója, amit nem ír ki a helpben, de működik rendesen. Visszacsatoltuk a kötetet a windowsos szerverre, az meglepő módon teljesen jól lekezelte, hogy a partíció 320GB-os, a fájlrendszer viszont csak 250 GB, majd utána a diskpart megoldotta a gondot azonnal. Innentől kezdve a fájlrendszer is 320GB-os volt. Most délután már el is kezdtük feltölteni a frissen allokált tárhelyet, érkezett 60 GB-nyi virtuális gép:-)