Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro: ✔️ Flexibilní škálovací sady virtuálních počítačů s Linuxem ✔️
Tento článek popisuje, jak formátovat, připojit a zachovat spravované disky na virtuálních počítačích Azure s Linuxem. Spravované disky jsou trvalé úložiště připojené k virtuálnímu počítači, které může v závislosti na velikosti virtuálního počítače používat rozhraní SCSI nebo NVMe.
Požadavky
Před formátováním a připojením datového disku se ujistěte, že máte:
- Identifikace správného disku , aby nedošlo ke ztrátě dat
- Přístup SSH k virtuálnímu počítači
- Uživatelská oprávnění root nebo sudo
Výstraha
Před formátováním vždy ověřte, že pracujete se správným diskem. Formátování nesprávného disku může vést ke ztrátě dat.
Formátování disku
Použijte nejnovější verzi parted dostupnou pro vaši distribuci. Pokud je velikost disku 2 tebibajtů (TiB) nebo větší, použijte dělení GPT. Pokud je velikost disku pod 2 TiB, můžete použít dělení MBR nebo GPT.
Jakmile identifikujete správný disk (například /dev/nvme0n2 datový disk), můžete ho naformátovat:
Následující příklad používá parted/dev/sdc, což je místo, kde je první datový disk obvykle na většině virtuálních počítačů. Nahraďte sdc správnou volbu pro váš disk. Formátuje disk také pomocí systému souborů XFS .
sudo parted /dev/sdc --script mklabel gpt mkpart xfspart xfs 0% 100%
sudo partprobe /dev/sdc
sudo mkfs.xfs /dev/sdc1
Pomocí nástroje partprobe zajistěte, aby jádro vědělo o novém oddílu a systému souborů. Pokud nepoužijete partprobe, příkazy blkid a lsblk nevrátí okamžitě UUID pro nový systém souborů.
Připojení disku
Nyní vytvořte adresář pro připojení systému souborů pomocí mkdir. Následující příklad vytvoří adresář v /datadrive:
sudo mkdir /datadrive
Pomocí mount pak připojte systém souborů. Následující příklad připojí oddíl /dev/sdc1 (pro SCSI) nebo /dev/nvme0n2p1 (pro NVMe) k bodu přípojovému /datadrive.
# Mount the disk identified earlier (replace sdc1 with your identified disk's partition)
sudo mount /dev/sdc1 /datadrive
Můžete také použít cestu zařízení Azure:
sudo mount /dev/disk/azure/scsi1/lun0-part1 /datadrive
Zachování připojení
Pokud chcete zajistit automatické připojení jednotky po restartování, přidejte ji do /etc/fstab souboru.
Důrazně doporučujeme, aby byl identifikátor UUID (vysvětlení: Universally Unique Identifier) používán v /etc/fstab pro odkazování na jednotku, než cesta zařízení (například /dev/sdc1). Cesty zařízení nejsou trvalé a při restartování se nemění. Pokud chcete najít UUID nové jednotky, použijte blkid nástroj:
sudo blkid
Výstup vypadá podobně jako v následujícím příkladu:
/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"
Výstraha
Nesprávné úpravy /etc/fstab souboru mohou vést k nebootovatelnému systému. Pokud si nejste jistí, přečtěte si dokumentaci k vaší distribuci, kde najdete informace o tom, jak správně upravit tento soubor. Před úpravami byste také měli vytvořit zálohu /etc/fstab souboru.
Dále otevřete /etc/fstab v textovém editoru. Přidejte řádek na konec souboru pomocí hodnoty UUID disku vytvořeného v předchozích krocích a přípojného /datadrivebodu . V příkladu z tohoto článku by nový řádek vypadal takto:
UUID=33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e /datadrive xfs defaults,nofail 1 2
Až úpravy souboru dokončíte, uložte a zavřete editor.
Případně můžete spustit následující příkaz pro přidání disku do /etc/fstab souboru:
# For SCSI disks
UUID=$(sudo blkid -s UUID -o value /dev/sdc1)
echo "UUID=$UUID /datadrive xfs defaults,nofail 1 2" | sudo tee -a /etc/fstab
# For NVMe disks
UID=$(sudo blkid -s UUID -o value /dev/nvme1n1p1)
echo "UUID=$UUID /datadrive xfs defaults,nofail 1 2" | sudo tee -a /etc/fstab
Poznámka:
Pozdější odebrání datového disku bez úprav fstab může způsobit selhání spuštění virtuálního počítače. Většina distribucí poskytuje buď nofail nebo nobootwait možnosti fstab. Tyto možnosti umožňují spuštění systému, i když se disk při spuštění nepodaří připojit. Podrobnosti o těchto parametrech najdete v dokumentaci k vaší distribuci.
Tato nofail možnost zajistí, že se virtuální počítač spustí i v případě, že je systém souborů poškozený nebo disk v době spuštění neexistuje. Bez této možnosti můžete narazit na chování popsané v tématu Nejde SSH na virtuální počítač s Linuxem kvůli chybám FSTAB.
Sériová konzola virtuálního počítače Azure se dá použít pro přístup ke konzole k vašemu virtuálnímu počítači, pokud při úpravě fstab dojde k selhání spuštění. Další podrobnosti jsou k dispozici v dokumentaci k sériové konzole.
Podpora TRIM/UNMAP pro Linux v Azure
Některá linuxová jádra podporují operace TRIM/UNMAP, které zahodí nepoužívané bloky na disku. Tato funkce je primárně užitečná k informování Azure, že odstraněné stránky už nejsou platné a dají se zahodit. Tato funkce může ušetřit peníze na discích, které se účtují na základě využitého úložiště, jako jsou nespravované disky úrovně Standard a snímky disků.
Existují dva způsoby povolení podpory TRIM na virtuálním počítači s Linuxem. Jako obvykle se podívejte na vaši distribuci pro doporučený postup.
• Použijte volbu discard připojení v /etc/fstab například:
UUID=33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e /datadrive xfs defaults,discard 1 2
• V některých případech může mít možnost discard dopad na výkon. Případně můžete příkaz spustit fstrim ručně z příkazového řádku nebo ho přidat do crontab, aby se spouštěl pravidelně:
Řešení problémů
Při přidávání datových disků do virtuálního počítače s Linuxem se můžou vyskytnout chyby, pokud disk v logické jednotce 0 neexistuje. Pokud přidáváte disk ručně pomocí az vm disk attach -new příkazu a místo toho, aby platforma Azure mohla určit příslušnou logickou jednotku(--lun LUN), dbejte na to, aby disk již existuje nebo existoval na logické jednotce 0.
Podívejte se na následující příklad znázorňující fragment výstupu z 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
Dva datové disky jsou umístěné na LUN (logické jednotky) 0 a LUN 1 (první sloupec v podrobnostech výstupu lsscsi[host:channel:target:lun]). Oba disky by měly být přístupné z virtuálního počítače. Pokud jste ručně zadali první disk, který se má přidat na logické jednotce 1 a druhý disk na logické jednotce 2, nemusí se disky správně zobrazovat v rámci virtuálního počítače.
Poznámka:
Hodnota Azure host je v těchto příkladech 5, ale může se lišit v závislosti na typu vybraného úložiště.
Toto chování disku není problém Azure, ale způsob, jakým jádro Linuxu dodržuje specifikace SCSI. Když jádro Linuxu prohledá sběrnici SCSI pro připojená zařízení, musí být zařízení nalezeno na logické jednotce 0, aby systém mohl pokračovat ve vyhledávání dalších zařízení. Takto:
- Zkontrolujte výstup z
lsscsipo přidání datového disku a ověřte, že máte disk na LUN 0. - Pokud se disk ve virtuálním počítači nezobrazuje správně, ověřte, že disk existuje na logické jednotce 0.