A számítógépünkben létező fizikai lemezek, például floppyk, CD-k, merevlemezek és egyebek mellett a lemezek egy másik formáját is képes megérteni a FreeBSD — a virtuális lemezeket.
A virtuális lemeznek tekinthetőek többek közt az olyan hálózati állományrendszerek, mint például a Hálózati állományrendszer (Network File System, NFS) és a Coda, valamint a memóriában és állományokban létrehozott állományrendszerek.
Attól függően, hogy a FreeBSD melyik változatát használjuk, az állomány és memória alapú állományrendszerek létrehozásához, illetve használatához különböző segédprogramokra lesz szükségünk.
Megjegyzés: A devfs(5) a felhasználó számára láthatatlan módon hozza létre az eszközök leíróit.
FreeBSD alatt az mdconfig(8) segédprogram segítségével tudunk memórialemezeket (md(4)) beállítani és engedélyezni. Az mdconfig(8) használatához be kell töltenünk az md(4) modult vagy hozzá kell tennünk a rendszermagunk beállításait tartalmazó állományhoz:
device md
Az mdconfig(8) parancs háromféle memória alapú virtuális lemezt ismer: a malloc(9), állományok vagy lapozóterület használatával létrehozott memórialemezeket. Így lehet például csatlakoztatni a floppyk vagy CD-k állományokban tárolt image-eit.
Egy meglevő állományrendszer image-ének csatlakoztatása:
Példa 18-3. Egy meglevő állományrendszer image-ének csatlakoztatása az mdconfig paranccsal
# mdconfig -a -t vnode -f image -u 0 # mount /dev/md0 /mnt
Új állományrendszer létrehozása az mdconfig(8) használatával:
Példa 18-4. Új állomány alapú lemez létrehozása az mdconfig paranccsal
# dd if=/dev/zero of=új-image bs=1k count=5k 5120+0 records in 5120+0 records out # mdconfig -a -t vnode -f új-image -u 0 # bsdlabel -w md0 auto # newfs md0a /dev/md0a: 5.0MB (10224 sectors) block size 16384, fragment size 2048 using 4 cylinder groups of 1.25MB, 80 blks, 192 inodes. super-block backups (for fsck -b #) at: 160, 2720, 5280, 7840 # mount /dev/md0a /mnt # df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md0a 4710 4 4330 0% /mnt
Ha az -u
beállítással
nem adjuk meg az egység számát, akkor az
mdconfig(8) az md(4) automatikus
kiosztásán keresztül fog egy
használatban még nem levő eszközt
kiválasztani. Az így kiosztott egység neve
az md4 névhez hasonlóan
jelenik meg a szabványos kimeneten. Az mdconfig(8)
használatának részleteiről olvassuk el
a hozzá tartozó man oldalt.
Az mdconfig(8) egy nagyon sokoldalú segédeszköz, habár használatakor viszonylag sok parancsot kell kiadni egy állomány alapú állományrendszer létrehozásához. A FreeBSD azonban alapból tartalmaz még egy mdmfs(8) nevű segédprogramot is, ami az md(4) lemezeket az mdconfig(8) segítségével állítja be, létrehoz rajtuk egy UFS típusú állományrendszert a newfs(8) segítségével és csatlakoztatja a mount(8) paranccsal. Így például, ha az iménti állományrendszert akarjuk létrehozni és csatlakoztatni, akkor egyszerűen csak gépeljünk be ennyit:
Példa 18-5. Állomány alapú lemezek beállítása és csatlakoztatása az mdmfs paranccsal
# dd if=/dev/zero of=új-image bs=1k count=5k 5120+0 records in 5120+0 records out # mdmfs -F új-image -s 5m md0 /mnt # df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md0 4718 4 4338 0% /mnt
Ha az md
paramétert az egység
száma nélkül adjuk meg, akkor mdmfs(8)
az md(4) automatikus kiosztására
támaszkodva fog egy addig még nem használt
eszközt kiválasztani. A mdmfs(8)
használatának pontos részleteivel
kapcsolatban lásd a hozzá tartozó man
oldalt.
A memória alapú állományrendszerek esetében általában a “lapozóállomány alapú” megközelítést alkalmazzák. A lapozóállomány alapúság nem arra utal, hogy a memórialemezt alapból kilapozzák lemezre, hanem inkább arra, hogy a memórialemez olyan területen jön létre, amelyet szükség esetén lemezre lehet lapozni. Memória alapú lemezeket a (rendszermag szintű) malloc(9) használatával is létre lehet hozni, de a malloc alapú memórialemezeknél, különösen a nagyon nagyok esetében, a rendszer könnyen össze tud omlani, ha kifut a rendelkezésére álló memóriából.
Példa 18-6. Új memória alapú lemez létrehozása az mdconfig paranccsal
# mdconfig -a -t swap -s 5m -u 1 # newfs -U md1 /dev/md1: 5.0MB (10240 sectors) block size 16384, fragment size 2048 using 4 cylinder groups of 1.27MB, 81 blks, 192 inodes. with soft updates super-block backups (for fsck -b #) at: 160, 2752, 5344, 7936 # mount /dev/md1 /mnt # df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md1 4718 4 4338 0% /mnt
Amikor már nem akarunk tovább használni egy memória vagy állomány alapú állományrendszert, érdemes visszaadnunk az általuk felhasznált erőforrásokat a rendszernek. Elsőként válasszuk le magát az állományrendszert, majd az mdconfig(8) segítségével kapcsoljuk le a lemezt a rendszerről és szabadítsuk fel az általa felhasznált erőforrásokat.
Például az /dev/md4 eszközt így lehet lekapcsolni és felszabadítani:
# mdconfig -d -u 4
A beállított md(4) eszközökkel kapcsolatos többi információt az mdconfig -l paranccsal tudjuk lekérdezni.
Előző | Tartalom | Következő |
Alapvető tudnivalók a biztonsági mentésről | Fel | Az állományrendszerek pillanatképei |
Ha kérdése van a FreeBSD-vel kapcsolatban, a következő
címre írhat (angolul): <freebsd-questions@FreeBSD.org>.
Ha ezzel a dokumentummal kapcsolatban van kérdése,
kérjük erre a címre írjon: <gabor@FreeBSD.org>.