問題描述
在 Linux 虛擬機內,將附加的多塊資料磁盤以設備名(/dev/sdxx)的方式創建檔案系統,并將之寫入 /etc/fstab 檔案中實作啟動自動掛載功能。但是在虛擬機重啟之后,會隨機出現設備名和實際的檔案系統不一致的問題。
問題分析
由于 Azure 虛擬機在啟動程序中,隨機分配資料磁盤的 SCSI 地址,導致了資料磁盤在附加后,獲取的 SCSI 地址會隨機變化。比如原來的資料磁盤 A,初始的設備名為 /dev/sdc ,在重啟之后,會隨機的被分配為 /dev/sdd ,原來的資料磁盤 B,初始的設備名為 /dev/sdd,在重啟之后,被分配為 /dev/sdc。這樣的話,如果客戶通過設備進行自動掛載的話,那么會看到掛載點下的實際資料是不一致的。
解決方案
為了避免上述的設計導致自動掛載時出現故障,建議使用 UUID 來代替設備名。不同檔案系統的 UUID 是不會隨著重啟而改變的。這樣,就可以確保每次自動掛載都能將正確的檔案系統掛載到正確的掛載點。
按照以下命令獲取檔案系統的 UUID :
# blkid
/dev/sdb1: UUID="f788cc09-fad5-4df9-9360-ffe39d82****" TYPE="ext4"
/dev/sda1: UUID="9bb6e11f-4697-476a-9e71-0ebfff61****" TYPE="xfs"
/dev/sda2: UUID="445d96a9-aeb1-4623-a2db-be133bdf****" TYPE="xfs"
按照以下格式寫入 /etc/fstab 檔案 :
# cat /etc/fstab
…
…
UUID=445d96a9-aeb1-4623-a2db-be133bdf**** / xfs defaults 0 0
UUID=9bb6e11f-4697-476a-9e71-0ebfff61**** /boot xfs defaults 0 0
更多引數設定,可以參考這里。
uj5u.com熱心網友回復:
可以在 /etc/fstab 里用UUID定義 查看UUDI的命令 idblk ,復制粘進去就好了轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/49079.html
標籤:服務器
上一篇:我配置好了zabbix監控JMX,用的是zabbix自帶的JMX模板,配置里顯示JMX綠色可用,但監控項里的所有的內容都不支持。這怎么解決
