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 á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 rendszer automatikusan a virtuális géppel azonos zónában hozza létre a lemezt. További információ: A rendelkezésre állási zónák áttekintése. Az alábbi példa egy 50 Gb méretű myDataDisk nevű lemezt hoz létre:
az vm disk attach \
-g myResourceGroup \
--vm-name myVM \
--name myDataDisk \
--new \
--size-gb 50
Kevesebb késés
Bizonyos 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 az Azure Kubernetes Service-t. Ez a fejlesztés azonban csak az explicit lemez csatolási parancsára korlátozódik. az vm disk attach
Nem fogja látni a teljesítménybeli javulást, ha olyan parancsot hív meg, amely implicit módon végrehajthat egy csatolást, például az vm update
. A fejlesztés megtekintéséhez nem kell más műveletet elvégeznie, mint az explicit csatolási parancs meghívása.
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
- 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érdez egy myDataDisk nevű lemezt a myResourceGroupban, majd csatolja azt 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álni tudja, az SSH-t a virtuális gépbe. 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 lemezek listáját használjuk lsblk
.
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 van a lemez, amit szeretnénk, mert 50G. Ha több lemezt ad hozzá, és nem biztos benne, hogy a lemez mérete csak a méreten alapul, 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 csoportban. Hasonlítsa össze a portálról származó LUN-számot a kimenet HTCL-részének utolsó számával, azaz a LUN-lal. 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 úgy, hogy ha a lemez parted
mérete két terabájt (TiB) vagy nagyobb, akkor gpt particionálást kell használnia, ha 2TiB alatt van, akkor MBR vagy GPT particionálást is használhat.
Feljegyzé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 legtöbb virtuális gépen az első adatlemezt használja parted
/dev/sdc
. Cserélje le sdc
a lemez megfelelő beállítására. Az XFS fájlrendszerrel 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
elmulasztása azt okozhatja, hogy 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 következő használatával mkdir
: . Az alábbi példa létrehoz egy könyvtárat a következő helyen /datadrive
:
sudo mkdir /datadrive
Ezzel 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. Azt is javasoljuk, hogy az UUID (univerzálisan egyedi azonosító) /etc/fstab
a meghajtóra hivatkozzon, és ne 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"
Feljegyzé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 pontnak /datadrive
a 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
Feljegyzés
Ha később eltávolít egy adatlemezt az fstab szerkesztése nélkül, az 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 beállításokat biztosítja. Ezek a beállítások akkor is lehetővé teszik a rendszerindítást, 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 a Nem SSH-ról Linux rendszerű virtuális gépre való bejelentkezés során az alábbiak szerint tapasztalhat viselkedést
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észletek a Soros konzol dokumentációjában találhatók.
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 elvethető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 lemez pillanatképeien.
A TRIM-támogatás kétféleképpen engedélyezve van a Linux rendszerű virtuális gépen. A szokásos módon tekintse meg az ajánlott megközelítést a disztribúcióban:
Használja a
discard
csatlakoztatási lehetőséget/etc/fstab
például:UUID=33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e /datadrive xfs defaults,discard 1 2
Bizonyos esetekben a
discard
lehetőségnek lehetnek teljesítménybeli következményei. 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 a lemez nem létezik a LUN 0-nál. Ha manuálisan ad hozzá egy lemezt a az vm disk attach -new
parancs használatával,--lun
és ahelyett, hogy engedélyezi az Azure-platform számára a megfelelő LUN meghatározását, gondoskodjon arról, hogy egy lemez már létezik / létezni fog a LUN 0-nál.
Tekintse meg az alábbi példát, amely a kimenet lsscsi
egy kódrészletét mutatja:
[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 a LUN 0 és a LUN 1 (a kimeneti adatok [host:channel:target:lun]
első oszlopalsscsi
) szerint létezik. 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, a második lemezt pedig a LUN 2-nél, előfordulhat, hogy nem látja megfelelően a lemezeket a virtuális gépen belülről.
Feljegyzés
Az Azure-érték host
ezekben a példákban 5, de ez a választott tárterület típusától függően változhat.
Ez a lemez viselkedése 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 kell találni egy eszközt ahhoz, hogy a rendszer további eszközöket keressen. Ennek megfelelően:
- Tekintse át az adatlemez hozzáadása után megjelenő kimenetet
lsscsi
annak ellenőrzéséhez, hogy van-e lemeze a LUN 0-nál. - Ha a lemez nem jelenik meg megfelelően a virtuális gépen belül, ellenőrizze, hogy létezik-e lemez a LUN 0-nál.
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ére vonatkozó javaslatok optimalizálását.
- 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.