一、/etc/fstab文件的作用
磁盤被手動掛載之後都必須把掛載信息寫入/etc/fstab這個文件中,否則下次開機啓動時仍然需要重新掛載。
系統開機時會主動讀取/etc/fstab這個文件中的內容,根據文件裏面的配置掛載磁盤。這樣我們只需要將磁盤的掛載信息寫入這個文件中我們就不需要每次開機啓動之後手動進行掛載了。
二、掛載的限制
在說明這個文件的作用之前我想先強調一下掛載的限制。
1、根目錄是必須掛載的,而且一定要先於其他mount point被掛載。因爲mount是所有目錄的跟目錄,其他木有都是由根目錄 /衍生出來的。
2、掛載點必須是已經存在的目錄。
3、掛載點的指定可以任意,但必須遵守必要的系統目錄架構原則
4、所有掛載點在同一時間只能被掛載一次
5、所有分區在同一時間只能掛在一次
6、若進行卸載,必須將工作目錄退出掛載點(及其子目錄)之外。
三、/etc/fstab文件中的參數
下面我們看看看/etc/fstab文件,這是我的linux環境中/etc/fstab文件中的內容
[root@ ~]# cat /etc/fstab
#
# # /etc/fstab # Created by anaconda on Tue Feb 16 02:46:03 2016 # # 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 # UUID=6121ee3b-fe66-4b99-b61c-edbd40f87422 / ext4 defaults 1 1 UUID=40a33812-b123-418e-add6-765d8884e9ca /boot ext4 defaults 1 2 UUID=6b3ff35f-da8b-405b-a349-6776dadedbf0 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 /dev/sda4 /data1 xfs defaults 1 2 UUID=528245ee-b4d1-4c9b-b52f-0bccfd2cfc19 /data2 xfs defaults 1 2 UUID=bbc30f84-70aa-4233-aa47-606a0ef01e75 /data3 xfs defaults 0 0
在文件中我已經把每一列都做出來表示方便識別,我們可以看到一共有六列。
第一列 Device
磁盤設備文件或者該設備的Label或者UUID
1)查看分區的label和uuid
Label就是分區的標籤,在最初安裝系統是填寫的掛載點就是標籤的名字。可以通過查看一個分區的superblock中的信息找到UUID和Label name。
例如我們要查看/dev/sda1這個設備的uuid和label name
[root@ u02]# dumpe2fs -h /dev/sda1
$ dumpe2fs -h /dev/sda1 dumpe2fs 1.41.12 (17-May-2010) Filesystem volume name: <none> Last mounted on: /boot Filesystem UUID: 40a33812-b123-418e-add6-765d8884e9ca Filesystem magic number: 0xEF53 Filesystem revision #: 1 (dynamic) Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize Filesystem flags: signed_directory_hash Default mount options: user_xattr acl Filesystem state: clean Errors behavior: Continue Filesystem OS type: Linux Inode count: 51200 Block count: 204800 Reserved block count: 10240 Free blocks: 158241 Free inodes: 51162 First block: 1 Block size: 1024 Fragment size: 1024 Reserved GDT blocks: 256 Blocks per group: 8192 Fragments per group: 8192 Inodes per group: 2048 Inode blocks per group: 256 RAID stride: 4 Flex block group size: 16 Filesystem created: Tue Feb 16 02:35:32 2016 Last mount time: Mon Mar 14 13:04:48 2016 Last write time: Mon Mar 14 13:04:48 2016 Mount count: 8 Maximum mount count: -1 Last checked: Tue Feb 16 02:35:32 2016 Check interval: 0 (<none>) Lifetime writes: 45 MB Reserved blocks uid: 0 (user root) Reserved blocks gid: 0 (group root) First inode: 11 Inode size: 128 Journal inode: 8 Default directory hash: half_md4 Directory Hash Seed: 9e0568d1-da80-46a8-b116-e07bac57c0c1 Journal backup: inode blocks Journal features: (none) Journal size: 4096k Journal length: 4096 Journal sequence: 0x00000024 Journal start: 0
通過下面這個命令blkid 來查看uuid
blkid |sort /dev/sda1: UUID="40a33812-b123-418e-add6-765d8884e9ca" TYPE="ext4" /dev/sda2: UUID="6121ee3b-fe66-4b99-b61c-edbd40f87422" TYPE="ext4" /dev/sda3: UUID="6b3ff35f-da8b-405b-a349-6776dadedbf0" TYPE="swap" /dev/sda4: UUID="71d35b53-1b72-4e84-a88b-47f9c6463ef1" TYPE="xfs" /dev/sdb: UUID="528245ee-b4d1-4c9b-b52f-0bccfd2cfc19" TYPE="xfs" /dev/sdc: UUID="650a21b1-1875-41f7-bd79-d4a27ce53640" TYPE="xfs" /dev/sdd: UUID="959e68d8-215e-43b5-bc4d-e32ce41496bf" TYPE="xfs" /dev/sde: UUID="4898ab43-1270-4f39-8e56-6c44f9070ef6" TYPE="xfs" /dev/sdf: UUID="bdee9783-5a20-4ece-953e-ae4ad8f2df02" TYPE="xfs" /dev/sdg: UUID="3d1c823b-6638-4320-b9d6-e73de5762176" TYPE="xfs" /dev/sdh: UUID="53a5dfc5-c678-4573-b9da-e9fc6cd98a00" TYPE="xfs" /dev/sdi: UUID="2e831076-31d1-4f07-af1d-7d50968d9e21" TYPE="xfs" /dev/sdj: UUID="60411ed1-4f88-4aed-9d89-25427aa61c92" TYPE="xfs" /dev/sdk: UUID="3cb76b32-dedf-4f59-acb9-1d2cd2dfa1bc" TYPE="xfs" /dev/sdl: UUID="7e7f2def-a58d-4d7e-8473-df904537e3a7" TYPE="xfs" /dev/sdm: UUID="773c6298-cfa7-4874-bae3-2428707655e5" TYPE="xfs"
2)使用設備名和label及uuid作爲標識的不同
使用設備名稱(/dev/sda)來掛載分區時是被固定死的,一旦磁盤的插槽順序發生了變化,就會出現名稱不對應的問題。因爲這個名稱是會改變的。
不過使用label掛載就不用擔心插槽順序方面的問題。不過要隨時注意你的Label name。
至於UUID,每個分區被格式化以後都會有一個UUID作爲唯一的標識號。使用uuid掛載的話就不用擔心會發生錯亂的問題了。
第二列 Mount point :設備的掛載點,就是你要掛載到哪個目錄下。
第三列 filesystem :磁盤文件系統的格式,包括ext2、ext3、reiserfs、nfs、vfat等
第四列 parameters文件系統的參數
Async/sync 設置是否爲同步方式運行,默認爲async
auto/noauto 當下載mount -a 的命令時,此文件系統是否被主動掛載。默認爲auto
rw/ro 是否以以只讀或者讀寫模式掛載
exec/noexec 限制此文件系統內是否能夠進行"執行"的操作
user/nouser 是否允許用戶使用mount命令掛載
suid/nosuid 是否允許SUID的存在
Usrquota 啓動文件系統支持磁盤配額模式
Grpquota 啓動文件系統對羣組磁盤配額模式的支持
Defaults 同事具有rw,suid,dev,exec,auto,nouser,async等默認參數的設置
第五列:能否被dump備份命令作用
dump是一個用來作爲備份的命令。通常這個參數的值爲0或者1
0 代表不要做dump備份
1 代表要每天進行dump的操作
2 代表不定日期的進行dump操作
第六列 是否檢驗扇區
開機的過程中,系統默認會以fsck檢驗我們系統是否爲完整(clean)。
0 不要檢驗
1 最早檢驗(一般根目錄會選擇)
2 1級別檢驗完成之後進行檢驗