Add a disk to a Linux VM (Lemez hozzáadása Linux rendszerű virtuális géphez)
A következőkre vonatkozik: ✔️ Linux rendszerű virtuális gépek rugalmas méretezési ✔️ csoportjai
Ez a cikk bemutatja, hogyan csatolhat egy állandó lemezt a virtuális géphez, hogy megőrizhesse az adatait, még akkor is, ha a virtuális gépet karbantartás vagy átméretezés miatt újraépíti.
Új lemez csatolása virtuális géphez
Ha új, üres adatlemezt szeretne hozzáadni a virtuális géphez, használja az az vm disk attach parancsot a --new
paraméterrel. Ha a virtuális gép rendelkezésre állási zónában van, a lemez automatikusan ugyanabban a zónában jön létre, mint a virtuális gép. További információ: A Availability Zones áttekintése. Az alábbi példa egy myDataDisk nevű lemezt hoz létre, amely 50 Gb méretű:
az vm disk attach \
-g myResourceGroup \
--vm-name myVM \
--name myDataDisk \
--new \
--size-gb 50
Kevesebb késés
Egyes régiókban a lemez csatolási késése csökkent, így akár 15%-os javulást is tapasztalhat. Ez akkor hasznos, ha tervezett/nem tervezett feladatátvételt végzett a virtuális gépek között, skálázza a számítási feladatokat, vagy nagy léptékű állapotalapú számítási feladatot futtat, például Azure Kubernetes Service. Ez a fejlesztés azonban csak az explicit lemez csatolási parancsára korlátozódik( az vm disk attach
). Nem fog teljesítménybeli javulást tapasztalni, ha olyan parancsot hív meg, amely implicit módon végrehajthat egy csatolást, például az vm update
: . A fejlesztéshez nem kell más műveletet elvégeznie, mint meghívnia az explicit csatolási parancsot.
Az alacsonyabb késés jelenleg minden nyilvános régióban elérhető, kivéve a következőket:
- Közép-Kanada
- USA középső régiója
- USA keleti régiója
- USA 2. keleti régiója
- USA déli középső régiója
- USA 2. nyugati régiója
- Észak-Németország
- Jio Nyugat-India
- Észak-Európa
- Nyugat-Európa
Meglévő lemez csatlakoztatása
Meglévő lemez csatolásához keresse meg a lemezazonosítót, és adja át az azonosítót az az vm disk attach parancsnak . Az alábbi példa lekérdezi a myResourceGroupmyDataDisk nevű lemezét, majd csatolja a myVM nevű virtuális géphez:
diskId=$(az disk show -g myResourceGroup -n myDataDisk --query 'id' -o tsv)
az vm disk attach -g myResourceGroup --vm-name myVM --name $diskId
A lemez formázása és csatlakoztatása
Az új lemez particionálásához, formázásához és csatlakoztatásához, hogy a Linux rendszerű virtuális gép használhassa azt, SSH-val csatlakozzon a virtuális géphez. További információ: SSH használata Linuxon az Azure-on. Az alábbi példa egy 10.123.123.25-ös nyilvános IP-címmel rendelkező virtuális géphez csatlakozik az azureuser felhasználónévvel:
ssh azureuser@10.123.123.25
A lemez megkeresése
Miután csatlakozott a virtuális géphez, keresse meg a lemezt. Ebben a példában a lemezeket fogjuk lsblk
listázni.
lsblk -o NAME,HCTL,SIZE,MOUNTPOINT | grep -i "sd"
A kimenet a következő példához hasonló:
sda 0:0:0:0 30G
├─sda1 29.9G /
├─sda14 4M
└─sda15 106M /boot/efi
sdb 1:0:1:0 14G
└─sdb1 14G /mnt
sdc 3:0:0:0 50G
sdc
Itt a lemezt szeretnénk, mert az 50G. Ha több lemezt ad hozzá, és nem biztos benne, hogy csak a méret alapján melyik lemezről van szó, lépjen a virtuális gép lapjára a portálon, válassza a Lemezek lehetőséget, és ellenőrizze a lemez LUN-számát az Adatlemezek területen. Hasonlítsa össze a lun számot a portálról a kimenet HTCL részének utolsó számával, amely a LUN. Egy másik lehetőség a könyvtár tartalmának listázása /dev/disk/azure/scsi1
:
ls -l /dev/disk/azure/scsi1
A kimenetnek az alábbi példához hasonlónak kell lennie:
lrwxrwxrwx 1 root root 12 Mar 28 19:41 lun0 -> ../../../sdc
A lemez formázása
Formázza a lemezt a paranccsal parted
, ha a lemez mérete két terabájt (TiB) vagy nagyobb, akkor GPT-particionálást kell használnia, ha 2TiB alatti, akkor MBR- vagy GPT-particionálást is használhat.
Megjegyzés
Javasoljuk, hogy a disztribúcióhoz elérhető legújabb verziót parted
használja.
Ha a lemez mérete 2 terabájt (TiB) vagy nagyobb, GPT particionálást kell használnia. Ha a lemez mérete 2 TiB alatt van, akkor MBR- vagy GPT-particionálást is használhat.
Az alábbi példa a következőt használja parted
: /dev/sdc
, ahol az első adatlemez általában a legtöbb virtuális gépen található. Cserélje le a elemet sdc
a lemez megfelelő beállítására. Az XFS fájlrendszer használatával is formázzuk.
sudo parted /dev/sdc --script mklabel gpt mkpart xfspart xfs 0% 100%
sudo partprobe /dev/sdc
sudo mkfs.xfs /dev/sdc1
partprobe
A segédprogrammal győződjön meg arról, hogy a kernel ismeri az új partíciót és fájlrendszert. A használat partprobe
hiánya miatt a blkid vagy az lsblk parancsok nem adják vissza azonnal az új fájlrendszer UUID azonosítóját.
A lemez csatlakoztatása
Most hozzon létre egy könyvtárat a fájlrendszer csatlakoztatásához a használatával mkdir
. Az alábbi példa egy könyvtárat hoz létre a következő helyen /datadrive
:
sudo mkdir /datadrive
A paranccsel mount
csatlakoztathatja a fájlrendszert. Az alábbi példa csatlakoztatja a /dev/sdc1
partíciót a csatlakoztatási /datadrive
ponthoz:
sudo mount /dev/sdc1 /datadrive
A csatlakoztatás megőrzése
Annak érdekében, hogy a meghajtó automatikusan újra legyen csatlakoztatva az újraindítás után, hozzá kell adni a /etc/fstab
fájlhoz. Erősen ajánlott az UUID (univerzálisan egyedi azonosító) használata /etc/fstab
is a meghajtóra való hivatkozáshoz, nem csak az eszköz nevére (például /dev/sdc1). Ha indítás közben az operációs rendszer lemezhibát észlel, az UUID használatával elkerülhető egy nem megfelelő lemez a megadott helyre történő csatolása. A többi adatlemez ettől még ugyanazokat az eszközazonosítókat kapja. Az új meghajtó UUID-jének megkereséséhez használja a blkid
segédprogramot:
sudo blkid
A kimenet az alábbi példához hasonlóan néz ki:
/dev/sda1: LABEL="cloudimg-rootfs" UUID="11111111-1b1b-1c1c-1d1d-1e1e1e1e1e1e" TYPE="ext4" PARTUUID="1a1b1c1d-11aa-1234-1a1a1a1a1a1a"
/dev/sda15: LABEL="UEFI" UUID="BCD7-96A6" TYPE="vfat" PARTUUID="1e1g1cg1h-11aa-1234-1u1u1a1a1u1u"
/dev/sdb1: UUID="22222222-2b2b-2c2c-2d2d-2e2e2e2e2e2e" TYPE="ext4" TYPE="ext4" PARTUUID="1a2b3c4d-01"
/dev/sda14: PARTUUID="2e2g2cg2h-11aa-1234-1u1u1a1a1u1u"
/dev/sdc1: UUID="33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e" TYPE="xfs" PARTLABEL="xfspart" PARTUUID="c1c2c3c4-1234-cdef-asdf3456ghjk"
Megjegyzés
Az /etc/fstab
fájl nem megfelelő szerkesztése esetén előfordulhat, hogy a rendszer nem tud elindulni. Ha nem biztos a dolgában, a fájl megfelelő szerkesztésével kapcsolatos információkért olvassa el a disztribúció dokumentációját. Azt is javasoljuk, hogy szerkesztés előtt készítsen biztonsági másolatot a /etc/fstab
fájlról.
Ezután nyissa meg a /etc/fstab
fájlt egy szövegszerkesztőben. Adjon hozzá egy sort a fájl végéhez az előző lépésekben létrehozott eszköz UUID-értékének /dev/sdc1
és a csatlakoztatási pontjának /datadrive
használatával. A cikk példáját használva az új sor a következőhöz hasonlóan fog kinézni:
UUID=33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e /datadrive xfs defaults,nofail 1 2
Ha végzett a fájl szerkesztésével, mentse és zárja be a szerkesztőt.
Másik lehetőségként futtassa a következő parancsot a lemez fájlhoz való hozzáadásához /etc/fstab
:
echo "UUID=33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e /datadrive xfs defaults,nofail 1 2" >> /etc/fstab
Megjegyzés
Az adatlemez fstab szerkesztése nélküli eltávolítása később a virtuális gép rendszerindításának sikertelenségéhez vezethet. A legtöbb disztribúció a nofail és/vagy a nobootwait fstab lehetőséget biztosítja. Ezek a beállítások akkor is lehetővé teszik a rendszer rendszerindítását, ha a lemez nem csatlakoztatható a rendszerindításkor. A paraméterekkel kapcsolatos további információkért tekintse meg a disztribúció dokumentációját.
A nem megfelelő beállítás biztosítja, hogy a virtuális gép akkor is elinduljon, ha a fájlrendszer sérült, vagy a lemez nem létezik a rendszerindításkor. E lehetőség nélkül az FSTAB-hibák miatt nem lehet SSH-ról Linux rendszerű virtuális gépre történő SSH-val kapcsolatos viselkedést tapasztalni
Az Azure-beli virtuális gép soros konzolja használható a virtuális gép konzolhoz való hozzáféréséhez, ha az fstab módosítása rendszerindítási hibát eredményezett. További részleteket a Soros konzol dokumentációjában talál.
TRIM/UNMAP-támogatás Linuxhoz az Azure-ban
Egyes Linux-kernelek támogatják a TRIM/UNMAP műveleteket a lemezen nem használt blokkok elvetéséhez. Ez a funkció elsősorban arra szolgál, hogy tájékoztassa az Azure-t arról, hogy a törölt lapok már nem érvényesek, és el is vethetők. Ez a funkció pénzt takaríthat meg a felhasznált tárterület alapján számlázott lemezeken, például a nem felügyelt standard lemezeken és a lemezpillanatképeken.
Linux rendszerű virtuális gépén kétféleképpen engedélyezheti a TRIM-támogatást. A szokásos módon tekintse meg a disztribúciót az ajánlott megközelítéshez:
Használja a csatlakoztatási
discard
lehetőséget a fájlban/etc/fstab
, például:UUID=33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e /datadrive xfs defaults,discard 1 2
Bizonyos esetekben a
discard
beállítás teljesítménybeli következményekkel járhat. Másik lehetőségként manuálisan is futtathatja afstrim
parancsot a parancssorból, vagy hozzáadhatja a crontabhoz a rendszeres futtatáshoz:
Hibaelhárítás
Amikor adatlemezeket ad hozzá Egy Linux rendszerű virtuális géphez, hibákat tapasztalhat, ha egy lemez nem létezik a LUN 0-nál. Ha manuálisan ad hozzá lemezt a az vm disk attach -new
paranccsal,--lun
és ahelyett, hogy engedélyezi az Azure-platformnak a megfelelő LUN meghatározását, gondoskodjon arról, hogy a lemez már létezik / létezni fog a LUN 0-nál.
Tekintse meg az alábbi példát, amely a kimenet egy kódrészletét mutatja:lsscsi
[5:0:0:0] disk Msft Virtual Disk 1.0 /dev/sdc
[5:0:0:1] disk Msft Virtual Disk 1.0 /dev/sdd
A két adatlemez lun 0 és LUN 1 (a kimeneti adatok [host:channel:target:lun]
első oszlopalsscsi
). Mindkét lemeznek elérhetőnek kell lennie a virtuális gépen belülről. Ha manuálisan adta meg az első hozzáadandó lemezt a LUN 1-nél és a második lemezt a LUN 2-nél, előfordulhat, hogy nem látja megfelelően a lemezeket a virtuális gépen belülről.
Megjegyzés
Az Azure-érték host
ezekben a példákban 5, de ez a választott tárolótípustól függően változhat.
Ez a lemezviselkedés nem Azure-probléma, hanem az, ahogyan a Linux-kernel követi az SCSI-specifikációkat. Amikor a Linux-kernel csatlakoztatott eszközöket keres az SCSI-buszon, a lun 0-nál egy eszközt kell találni ahhoz, hogy a rendszer további eszközöket keressen. Ennek megfelelően:
- Az adatlemez hozzáadása után tekintse át a kimenetét
lsscsi
, és ellenőrizze, hogy rendelkezik-e lemezzel a LUN 0-nál. - Ha a lemez nem jelenik meg megfelelően a virtuális gépen, ellenőrizze, hogy létezik-e lemez a LUN 0 helyen.
Következő lépések
- Annak érdekében, hogy a Linux rendszerű virtuális gép megfelelően legyen konfigurálva, tekintse át a Linux rendszerű gépek teljesítményének optimalizálására vonatkozó javaslatokat.
- Bővítse a tárkapacitást további lemezek hozzáadásával, és konfigurálja a RAID-t a további teljesítmény érdekében.