在工作中我么經(jīng)常遇見(jiàn)這樣的問(wèn)題
在 Linux 虛擬機(jī)內(nèi),將附加的多塊數(shù)據(jù)磁盤以設(shè)備名(/dev/sdxx)的方式創(chuàng)建文件系統(tǒng),并將之寫入 /etc/fstab 文件中實(shí)現(xiàn)啟動(dòng)自動(dòng)掛載功能。但是在虛擬機(jī)重啟之后,會(huì)隨機(jī)出現(xiàn)設(shè)備名和實(shí)際的文件系統(tǒng)不一致
的問(wèn)題。
的問(wèn)題。
那么為什么會(huì)出現(xiàn)這樣的問(wèn)題呢?
由于 Azure 虛擬機(jī)在啟動(dòng)過(guò)程中,隨機(jī)分配數(shù)據(jù)磁盤的 SCSI 地址,導(dǎo)致了數(shù)據(jù)磁盤在附加后,獲取的 SCSI 地址會(huì)隨機(jī)變化。比如原來(lái)的數(shù)據(jù)磁盤 A,初始的設(shè)備名為 /dev/sdc ,在重啟之后,會(huì)隨機(jī)的被分配
為 /dev/sdd ,原來(lái)的數(shù)據(jù)磁盤 B,初始的設(shè)備名為 /dev/sdd,在重啟之后,被分配為 /dev/sdc。這樣的話,如果客戶通過(guò)設(shè)備進(jìn)行自動(dòng)掛載的話,那么會(huì)看到掛載點(diǎn)下的實(shí)際數(shù)據(jù)是不一致的。
解決方法如下:
為了避免上述的設(shè)計(jì)導(dǎo)致自動(dòng)掛載時(shí)出現(xiàn)故障,建議使用 UUID 來(lái)代替設(shè)備名。不同文件系統(tǒng)的 UUID 是不會(huì)隨著重啟而改變的。這樣,就可以確保每次自動(dòng)掛載都能將正確的文件系統(tǒng)掛載到正確的掛載點(diǎn)。
按照以下命令獲取文件系統(tǒng)的 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
夢(mèng)飛科技,您身邊的服務(wù)器租賃專家,如需服務(wù)器技術(shù)幫助請(qǐng)咨詢QQ:1539494969
夢(mèng)飛科技,您身邊的服務(wù)器租賃專家,如需服務(wù)器技術(shù)幫助請(qǐng)咨詢QQ:1539494969