1. 程式人生 > >Linux系統固定磁盤標識符之wwid和uuid

Linux系統固定磁盤標識符之wwid和uuid

cat 操作系統 包含 掛載 創建文件系統 main fin etc swap

背景描述,在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:

[[email protected] /]# 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-360060160e2b0420004a53e678d42e711 -> ../../sdg


lrwxrwxrwx. 1 root root 9 May 27 19:01 scsi-360060160e2b04200c687b330c741e711 -> ../../sdh
lrwxrwxrwx. 1 root root 9 May 28 2017 scsi-3600605b00a8043c020b6bdd53057904d -> ../../sda
lrwxrwxrwx. 1 root root 10 May 28 2017 scsi-3600605b00a8043c020b6bdd53057904d-part1 -> ../../sda1
lrwxrwxrwx. 1 root root 10 May 28 2017 scsi-3600605b00a8043c020b6bdd53057904d-part2 -> ../../sda2

查看磁盤設備wwid方法2:

[[email protected] Packages]# scsi_id --whitelist /dev/sda
3600605b00a8043c020b6bdd53057904d
[[email protected] Packages]# scsi_id --whitelist /dev/sdb
360060160e2b04200c687b330c741e711

RHEL6使用如上命令,在RHEL5中使用scsi_id --whitelist /dev/sd*

重啟系統之後,如果要使磁盤標識符保持不變,需要對磁盤標識符和wwid做一個綁定,如下:

=======================================================================================

二、uuid

UUID是有文件系統在創建時候生成的,用來標記文件系統,類似WWID一樣也是獨一無二的。

因此使用UUID來標示SCSI磁盤,也能保證路徑是永久不變的。Linux上/dev/disk/by-uuid可以看到每個已經創建文件系統的磁盤設備以及與/dev/sd*之間的映射關系。

查看文件系統uuid:

[[email protected] /]# 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 414563cf-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來標識,如下:

[[email protected] /]# 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

Linux系統固定磁盤標識符之wwid和uuid