18.13. Hálózat, memória és állomány alapú állományrendszerek
Vissza | 18. fejezet - Háttértárak | Előre

## 18.13. Hálózat, memória és állomány alapú állományrendszerek

Átdolgozta és feljavította: Fonvieille, Marc.

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.

### 18.13.1. Állomány alapú állományrendszerek

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:

18.3. példa - 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:

18.4. példa - Ú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:

18.5. példa - Á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.

### 18.13.2. Memória alapú állományrendszerek

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.

18.6. példa - Ú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

18.7. példa - Új memória alapú lemez létrehozása az `mdmfs` paranccsal

    # mdmfs -s 5m md2 /mnt
    # df /mnt
    Filesystem 1K-blocks Used Avail Capacity  Mounted on
    /dev/md2        4846    2  4458     0%    /mnt

### 18.13.3. Memórialemezek leválasztása a rendszerről

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.

Vissza | Fel | Előre
18.12. Alapvető tudnivalók a biztonsági mentésről | Főoldal | 18.14. Az állományrendszerek pillanatképei

Ha kérdése van a FreeBSD-vel kapcsolatban, a következő címre írhat (angolul): <questions@FreeBSD.org>.
Ha ezzel a dokumentummal kapcsolatban van kérdése, kérjük erre a címre írjon: <gabor@FreeBSD.org>.