Linux磁碟及分區之wwid和uuid
02-04
背景描述,在Linux系統中,如果添加了新的SCSI磁碟或者映射SAN存儲LUN操作,重啟操作系統之後會出現磁碟標識符(sd*)錯亂的情況。 例如之前添加的SAN存儲LUN的磁碟標識符為/dev/sdd,重啟之後發現變成/dev/sdh,特別是oracle RAC環境下我們是不希望出現這樣的情況的。 解決這個問題之前,需要先搞清楚Linux系統中的wwid和uuid號。 一、wwid 根據SCSI標準,每個SCSI磁碟都有一個WWID,類似於網卡的MAC地址,要求是獨一無二。 通過WWID標示SCSI磁碟就可以保證磁碟路徑永久不變,Linux系統上/dev/disk/by-id目錄包含每個SCSI磁碟WWID訪問路徑。 查看磁碟設備wwid方法1: [root@rac01-node01 /]# ll /dev/disk/by-id/ total 0 lrwxrwxrwx. 1 root root 10 May 28 2017 dm-name-vg_rac01node01-LogVol01 -> ../../dm-0 lrwxrwxrwx. 1 root root 10 May 28 2017
dm-uuid-LVM-YWDtaD547sWxXQ2m9yF3Vl7gd42z61gqjQSRxV0GPavZDlE2D1dh26aPin6V59mz -> ../../dm-0 lrwxrwxrwx. 1 root root 9 May 27 19:01 scsi-{{360060160:0}}e2b0{{420004:0}}a53e678d42e711 -> ../../sdg lrwxrwxrwx. 1 root root 9 May 27 19:01 scsi-{{360060160:0}}e2b04200c687b330c741e711 -> ../../sdh lrwxrwxrwx. 1 root root 9 May 28 2017 scsi-{{3600605:0}}b00a8043c020b6bdd{{53057904:0}}d -> ../../sda lrwxrwxrwx. 1 root root 10 May 28 2017 scsi-{{3600605:0}}b00a8043c020b6bdd{{53057904:0}}d-part1 -> ../../sda1 lrwxrwxrwx. 1 root root 10 May 28 2017 scsi-{{3600605:0}}b00a8043c020b6bdd{{53057904:0}}d-part2 -> ../../sda2 查看磁碟設備wwid方法2: [root@rac01-node01 Packages]# scsi_id --whitelist /dev/sda {{3600605:0}}b00a8043c020b6bdd{{53057904:0}}d [root@rac01-node01 Packages]# scsi_id --whitelist /dev/sdb {{360060160:0}}e2b04200c687b330c741e711 RHEL6使用如上命令,在RHEL5中使用scsi_id --whitelist /dev/sd* 重啟系統之後,如果要使磁碟標識符保持不變,需要對磁碟標識符和wwid做一個綁定,如下: ======================================================================================= 二、uuid UUID是有文件系統在創建時候生成的,用來標記文件系統,類似WWID一樣也是獨一無二的。 因此使用UUID來標示SCSI磁碟,也能保證路徑是永久不變的。Linux上/dev/disk/by-uuid可以看到每個已經創建文件系統的磁碟設備以及與/dev/sd*之間的映射關係。 查看文件系統uuid: [root@rac01-node01 /]# ll /dev/disk/by-uuid/ total 0 lrwxrwxrwx. 1 root root 10 May 28 2017 3777-9E7C -> ../../sda1 lrwxrwxrwx. 1 root root 10 May 28 2017 {{414563:0}}cf-af5d-467a-bca9-81b8dad6e17f -> ../../dm-0 lrwxrwxrwx. 1 root root 10 May 28 2017 948ab5bc-f796-4f74-8cd5-84b6474d79ae -> ../../dm-1 lrwxrwxrwx. 1 root root 10 May 28 2017 9cbb7f73-582c-47e4-99d7-1c79fae90efc -> ../../sda2 重啟系統之後,如果要使掛載的掛載的目錄和文件系統綁定關係不變,在/etc/fstab裡面應該使用uuid來標識,如下: [root@rac01-node01 /]# cat /etc/fstab # /etc/fstab # Created by anaconda on Sun May 28 01:13:01 2017 # Accessible filesystems, by reference, are maintained under /dev/disk # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/vg_rac01node01-LogVol01 / ext4 defaults 1 1 UUID=9cbb7f73-582c-47e4-99d7-1c79fae90efc /boot ext4 defaults 1 2 UUID=3777-9E7C /boot/efi vfat umask=0077,shortname=winnt 0 0 /dev/mapper/vg_rac01node01-LogVol00 swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 掛載文件系統之前,查看分區UUID,使用UUID mount文件系統時需要指定-t文件系統類型 [root@ca-mgmt ~]# blkid /dev/vda1: UUID="d0bc3224-dfb4-4abd-9e04-91fe5af5c9b9" TYPE="xfs" /dev/vda2: UUID="j7r6ci-03td-jY3T-nyKA-xI0t-9FK4-k3Bb1z" TYPE="LVM2_member" /dev/mapper/rhel-root: UUID="a708a4d0-143e-46fe-8af9-1d5a2d330e2a" TYPE="xfs" /dev/mapper/rhel-swap: UUID="4f927dbc-446e-49eb-939f-bc7790b823a4" TYPE="swap"推薦閱讀:
※Linux下編寫腳本Shell和Python的區別?
※如果在運維工作中收到非常多的告警信息,影響了本身的運維工作,應該從哪幾個方面進行優化和改善?
※請問HTML5和Linux運維工程師,哪個前景會好一點,上面兩個哪個針對零基礎培訓的學員更有發展前景?
※今年21歲linux運維工程師職業,如何在未來10年內達到年薪三十萬
※做Linux運維需要考一些證書嗎?如果是,需要考什麼樣子的,費用如何?