一.存儲基礎知識 從工作原理區分: 機械 HDD 固態 SSD SSD的優勢: 從磁碟尺寸區分: 3.5 2.5 1.8 從插拔方式區分: 熱插拔 非熱插拔 從硬碟主要介面區分: IDE —— SATA I/II/II 個人電腦 SCSI —— SAS 伺服器 FC PCIE 從存儲連接方式區分: ...
一.存儲基礎知識
從工作原理區分:
- 機械 HDD
- 固態 SSD
SSD的優勢:
SSD是摒棄傳統磁介質,採用電子存儲介質進行數據存儲和讀取的一種技術,突破了傳統機械硬碟的性能瓶頸,擁有極高的存儲性能,被認為是存儲
技術發展的未來新星。固態硬碟的全集成電路化、無任何機械運動部件的革命性設計,從根本上解決了在移動辦公環境下,對於數據讀寫穩定性的需
求。全集成電路化設計可以讓固態硬碟做成任何形狀。與傳統硬碟相比,SSD固態電子盤具有以下優點:
第一,SSD不需要機械結構,完全的半導體化,不存在數據查找時間、延遲時間和磁碟尋道時間,數據存取速度快。
第二,SSD全部採用快閃記憶體晶元,經久耐用,防震抗摔,即使發生與硬物碰撞,數據丟失的可能性也能夠降到最小。
第三,得益於無機械部件及FLASH快閃記憶體晶元,SSD沒有任何噪音,功耗低。
第四,質量輕,比常規1.8英寸硬碟重量輕20-30克,使得便攜設備搭載多塊SSD成為可能。同時因其完全半導體化,無結構限制,可根據實際情況
設計成各種不同介面、形狀的特殊電子硬碟。
從磁碟尺寸區分:
3.5 2.5 1.8
從插拔方式區分:
- 熱插拔
- 非熱插拔
從硬碟主要介面區分:
- IDE —— SATA I/II/II 個人電腦
- SCSI —— SAS 伺服器
- FC
- PCIE
從存儲連接方式區分:
- 本地存儲:例如DellR730本地磁碟
- 外部存儲:scsi線、stat線、sas線、FC線
- 網路存儲:乙太網絡、FC網路
從kernel對不同介面硬碟命名方式:
OS IDE(並口) SATA(串口) SCSI
RHEL5 /dev/hda /dev/sda /dev/sda
RHEL6 /dev/sda /dev/sda /dev/sda
RHEL7 /dev/sda /dev/sda /dev/sda
KVM /dev/vda(半虛擬化驅動)
/dev/sda(全虛擬化驅動)
從分區方式區分:
存儲大小 分區軟體 分區表
2TB以下的硬碟 fdisk/parted/ MSDOS(MBR)
2TB以上的硬碟 parted GPT
註意:從MBR轉到GPT,或從GPT轉換到MBR會導致數據全部丟失!
MSDOS(MBR)分區的限制:
主引導分區(Master Boot Record,縮寫:MBR),又叫做主引導扇區,是電腦開機後訪問硬碟時所必須要讀取的首個扇區。
MBR(512位元組)=446位元組(存放grub指針)+64位元組(分區表)+2位元組(校驗位)
主分區,擴展分區,邏輯分區
只支持4個主分區,總分區數不能超過15個
只支持2TB以下的硬碟
GPT的限制:
沒有限制
HP伺服器硬碟:
/dev/cciss/c0d0
/dev/cciss/c0d0p1 //c0第一個控制器, d0第一塊磁碟, p1分區1
/dev/cciss/c0d0p2 //c0第一個控制器, d0第一塊磁碟, p2分區2
文件系統與數據資料:
Ext3:文件系統最大16TB,單個文件最大2TB
Ext4:文件系統最大16TB,單個文件最大16TB
XFS:
Ext3:是一款日誌文件系統,能夠在系統異常宕機時避免文件系統資料丟失,並能自動修複數據的不一致與錯誤。 然而,當硬碟容量較大時,所需的修複時間也會很長,而且也不能百分之百地保證資料不會丟失。它會把整個磁碟 的每個寫入動作的細節都預先記錄下來,以便在發生異常宕機後能回溯追蹤到被中斷的部分,然後嘗試進行修複。
Ext4:Ext3的改進版本,作為RHEL 6系統中的預設文件管理系統,它支持的存儲容量高達1EB(1EB=1,073,741,824GB), 且能夠有無限多的子目錄。另外,Ext4文件系統能夠批量分配block塊,從而極大地提高了讀寫效率。
XFS:是一種高性能的日誌文件系統,而且是RHEL 7中預設的文件管理系統,它的優勢在發生意外宕機後尤其明顯, 即可以快速地恢復可能被破壞的文件,而且強大的日誌功能只用花費極低的計算和存儲性能。並且它最大可支持的存 儲容量為18EB,這幾乎滿足了所有需求。
二.磁碟分區
2.1 磁碟管理相關命令
2.1.1 fdisk 分區工具
fdisk是一個創建和維護分區表的程式,它相容DOS類型的分區表、BSD或者SUN類型的磁碟列表。
語法:
fdisk [必要參數][選擇參數]
必要參數:
-l 列出素所有分區表 -u 與"-l"搭配使用,顯示分區數目
選擇參數:
-s<分區編號> 指定分區 -v 版本信息
菜單操作說明:
a toggle a bootable flag --設置啟動分區 b edit bsd disklabel --編輯分區標簽 d delete a partition --刪除一個分區 l list known partition types --列出分區類型 m print this menu --幫助 n add a new partition --建立一個新的分區 o create a new empty DOS partition table --創建一個新的空白DOS分區表 p print the partition table --列印分區表 q quit without saving changes --退出不保存設置 t changea partition's system id --改變分區的類型 u changedisplay/entry units --改變顯示的單位 v verifythe partition table --檢查驗證分區表 w write table to disk and exit --保存分區表
- 示例
顯示當前分區情況:
# fdisk -l
Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 1305 10377990 8e Linux LVM
Disk /dev/sdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
顯示SCSI硬碟的每個分區情況:
# fdisk -lu
Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 63 208844 104391 83 Linux
/dev/sda2 208845 20964824 10377990 8e Linux LVM
Disk /dev/sdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders, total 10485760 sectors
Units = sectors of 1 * 512 = 512 bytes
2.1.2 lsblk 查看塊設備
lsblk用於列出所有可用塊設備的信息,而且還能顯示他們之間的依賴關係,但是它不會列出RAM盤的信息。塊設備有硬碟,快閃記憶體盤,cd-ROM等等。
選項:
-a, --all 顯示所有設備。 -b, --bytes 以bytes方式顯示設備大小。 -d, --nodeps 不顯示 slaves 或 holders。 -D, --discard print discard capabilities。 -e, --exclude <list> 排除設備 (default: RAM disks)。 -f, --fs 顯示文件系統信息。 -h, --help 顯示幫助信息。 -i, --ascii use ascii characters only。 -m, --perms 顯示許可權信息。 -l, --list 使用列表格式顯示。 -n, --noheadings 不顯示標題。 -o, --output <list> 輸出列。 -P, --pairs 使用key="value"格式顯示。 -r, --raw 使用原始格式顯示。 -t, --topology 顯示拓撲結構信息。
示例
[root@centos7-1 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 1024M 0 rom vda 252:0 0 10G 0 disk ├─vda1 252:1 0 500M 0 part /boot └─vda2 252:2 0 9.5G 0 part ├─cl-root 253:0 0 9G 0 lvm / └─cl-swap 253:1 0 500M 0 lvm [SWAP] NAME:這是塊設備名。 MAJ:MIN:本欄顯示主要和次要設備號。 RM:本欄顯示設備是否可移動設備。註意,在本例中設備sdb和sr0的RM值等於1,這說明他們是可移動設備。 SIZE:本欄列出設備的容量大小信息。例如298.1G表明該設備大小為298.1GB,而1K表明該設備大小為1KB。 RO:該項表明設備是否為只讀。在本案例中,所有設備的RO值為0,表明他們不是只讀的。 TYPE:本欄顯示塊設備是否是磁碟或磁碟上的一個分區。在本例中,sda和sdb是磁碟,而sr0是只讀存儲(rom)。 MOUNTPOINT:本欄指出設備掛載的掛載點。
2.1.3 partprobe 刷新授權表
partprobe命令用於重讀分區表,當出現刪除文件後,出現仍然占用空間。可以partprobe在不重啟的情況下重讀分區。
選項:
-d:不更新內核; -s:顯示摘要和分區; -h:顯示幫助信息; -v:顯示版本信息。
示例:
1、添加新的磁碟分區
[root@localhost ~]# fdisk /dev/sda
The number of cylinders for this disk is set to 38770.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of lilo)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
command (m for help): p
Disk /dev/sda: 318.9 GB, 318901321728 bytes
255 heads, 63 sectors/track, 38770 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks id System
/dev/sda1 * 1 3824 30716248+ 83 Linux
/dev/sda2 3825 7648 30716280 83 Linux
/dev/sda3 7649 8668 8193150 82 Linux swap / Solaris
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Selected partition 4
First cylinder (8669-38770, default 8669):
Using default value 8669
last cylinder or +size or +sizeM or +sizeK (8669-38770, default 38770): +100G
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16:
Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
2、 使用工具partprobe讓kernel讀取分區信息
[root@localhost ~]# partprobe
使用fdisk工具只是將分區信息寫到磁碟,如果需要mkfs磁碟分區則需要重啟系統,而使用partprobe則可以使kernel重新讀取分區信息,從而避免重啟系統。
3、格式化文件系統
[root@localhost ~]# mkfs.ext3 /dev/sda4
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
12222464 inodes, 24416791 blocks
1220839 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
746 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632,
2654208, 4096000, 7962624, 11239424, 20480000, 23887872
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information:
done
This filesystem will be automatically checked every 26 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@localhost ~]#
4、 mount新的分區/dev/sda4
[root@localhost ~]# e2label /dev/sda4 /data
[root@localhost ~]# mkdir /data
[root@localhost ~]# mount /dev/sda4 /data
[root@localhost ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 29753556 3810844 24406900 14% /
/dev/sda2 29753588 11304616 16913160 41% /oracle
tmpfs 2023936 0 2023936 0% /dev/shm
/dev/sda4 96132968 192312 91057300 1% /data
2.1.4 blkid 查看設備UUID
在Linux下可以使用blkid命令對查詢設備上所採用文件系統類型進行查詢。blkid主要用來對系統的塊設備(包括交換分區)所使用的文件系統類型、LABEL、UUID等信息進行查詢。要使用這個命令必須安裝e2fsprogs軟體包。
示例:
# blkid /dev/sda3 /dev/sda3: UUID="3bca1b81-1339-4345-9df4-9c25ec00a60b" TYPE="swap"
2.2 磁碟分區示例
分區步驟:
- 1、需要有一塊硬碟
- 2、使用分區工具對硬碟進行分區(fdisk)
- 3、格式化分區
- 4、掛載使用
- 進入分區表 新建分區
- 更新分區表(刷新分區表)
- 格式化
- 掛載
第1步:我們首先使用fdisk命令來嘗試管理/dev/vdb硬碟設備。在看到提示信息後輸入參數p來查看硬碟設備內已有的分區信息,其中包括了硬碟的容量大小、扇區個數等信息:
[root@centos7-1 ~]# fdisk /dev/vdb
歡迎使用 fdisk (util-linux 2.23.2)。
更改將停留在記憶體中,直到您決定將更改寫入磁碟。
使用寫入命令前請三思。
Device does not contain a recognized partition table
使用磁碟標識符 0xf24ceedc 創建新的 DOS 磁碟標簽。
命令(輸入 m 獲取幫助):p
磁碟 /dev/vdb:21.5 GB, 21474836480 位元組,41943040 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組
磁碟標簽類型:dos
磁碟標識符:0xf24ceedc
設備 Boot Start End Blocks Id System
命令(輸入 m 獲取幫助):
第2步:輸入參數n嘗試添加新的分區。系統會要求您是選擇繼續輸入參數p來創建主分區,還是輸入參數e來創建擴展分區。這裡輸入參數p來創建一個主分區:
命令(輸入 m 獲取幫助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
第3步:在確認創建一個主分區後,系統要求您先輸入主分區的編號。我們在前文得知,主分區的編號範圍是1~4,因此這裡輸入預設的1就可以了。接下來系統會提示定義起始的扇區位置,這不需要改動,我們敲擊回車鍵保留預設設置即可,系統會自動計算出最靠前的空閑扇區的位置。最後,系統會要求定義分區的結束扇區位置,這其實就是要去定義整個分區的大小是多少。我們不用去計算扇區的個數,只需要輸入+2G即可創建出一個容量為2GB的硬碟分區。
分區號 (1-4,預設 1):1
起始 扇區 (2048-41943039,預設為 2048):此處敲擊回車
將使用預設值 2048
Last 扇區, +扇區 or +size{K,M,G} (2048-41943039,預設為 41943039):+2G
分區 1 已設置為 Linux 類型,大小設為 2 GiB
第4步:再次使用參數p來查看硬碟設備中的分區信息。果然就能看到一個名稱為/dev/vdb1、起始扇區位置為2048、結束扇區位置為4196351的主分區了。這時候千萬不要直接關閉視窗,而應該敲擊參數w後回車,這樣分區信息才是真正的寫入成功啦。
命令(輸入 m 獲取幫助):p
磁碟 /dev/vdb:21.5 GB, 21474836480 位元組,41943040 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組
磁碟標簽類型:dos
磁碟標識符:0xf24ceedc
設備 Boot Start End Blocks Id System
/dev/vdb1 2048 4196351 2097152 83 Linux
命令(輸入 m 獲取幫助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁碟。
第5步:在上述步驟執行完畢之後,Linux系統會自動把這個硬碟主分區抽象成/dev/vdb1設備文件。我們可以使用file命令查看該文件的屬性,有些時候系統並沒有自動把分區信息同步給Linux內核,而且這種情況似乎還比較常見(但不能算作是嚴重的bug)。我們可以輸入partprobe命令手動將分區信息同步到內核,而且一般推薦連續兩次執行該命令,效果會更好。如果使用這個命令都無法解決問題,那麼就重啟電腦吧,這個殺手鐧百試百靈,一定會有用的。
[root@centos7-1 ~]# partprobe
[root@centos7-1 ~]# partprobe
[root@centos7-1 ~]# file /dev/vdb1
/dev/vdb1: block special
第6步:格式化,如果硬體存儲設備沒有進行格式化,則Linux系統無法得知怎麼在其上寫入數據。因此,在對存儲設備進行分區後還需要進行格式化操作。在Linux系統中用於格式化操作的命令是mkfs。這條命令很有意思,因為在Shell終端中輸入mkfs名後再敲擊兩下用於補齊命令的Tab鍵,會有如下所示的效果
[root@centos7-1 ~]# mkfs
mkfs mkfs.cramfs mkfs.ext3 mkfs.fat mkfs.msdos mkfs.xfs
mkfs.btrfs mkfs.ext2 mkfs.ext4 mkfs.minix mkfs.vfat
對!這個mkfs命令很貼心地把常用的文件系統名稱用尾碼的方式保存成了多個命令文件,用起來也非常簡單—mkfs.文件類型名稱。例如要格式分區為XFS的文件系統,則命令應為mkfs.xfs /dev/sdb1。
[root@centos7-1 ~]# mkfs.xfs /dev/vdb1
meta-data=/dev/vdb1 isize=512 agcount=4, agsize=131072 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=524288, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
第7步:掛載,完成了存儲設備的分區和格式化操作,接下來就是要來掛載並使用存儲設備了。與之相關的步驟也非常簡單:首先是創建一個用於掛載設備的掛載點目錄;然後使用mount命令將存儲設備與掛載點進行關聯;最後使用df -h命令來查看掛載狀態和硬碟使用量信息。
[root@centos7-1 ~]# mkdir /newFS
[root@centos7-1 ~]# mount /dev/vdb1 /newFS/
[root@centos7-1 ~]# df -h
文件系統 容量 已用 可用 已用% 掛載點
/dev/mapper/cl-root 9.1G 3.7G 5.4G 41% /
devtmpfs 481M 0 481M 0% /dev
tmpfs 497M 124K 497M 1% /dev/shm
tmpfs 497M 14M 484M 3% /run
tmpfs 497M 0 497M 0% /sys/fs/cgroup
/dev/vda1 497M 166M 332M 34% /boot
tmpfs 100M 8.0K 100M 1% /run/user/42
tmpfs 100M 16K 100M 1% /run/user/0
/dev/vdb1 2.0G 33M 2.0G 2% /newFS[![複製代碼](https://common.cnblogs.com/images/copycode.gif)](javascript:void(0);
開機自動掛載,通過UUID掛載,blkid 查看設備的UUID
[root@centos7-1 ~]# blkid /dev/vdb1
/dev/vdb1: UUID="a9c72628-f6b1-4feb-bdfb-9fa456d119bb" TYPE="xfs"
[root@centos7-1 ~]# vim /etc/fstab
UUID=a9c72628-f6b1-4feb-bdfb-9fa456d119bb /newFS xfs defaults 0 0
三.磁碟掛載與卸載
- 單一文件系統不應該被重覆掛載在不同的掛載點(目錄)中;
- 單一目錄不應該重覆掛載多個文件系統;
- 要作為掛載點的目錄,理論上應該都是空目錄才是。
如果你要用來掛載的目錄裡面並不是空的,那麼掛載了文件系統之後,原目錄下的東西就會暫時的消失。 舉個例子來說,假設你的 /home 原本與根目錄 (/) 在同一個文件系統中,底下原本就有 /home/test 與 /home/vbird 兩個目錄。然後你想要加入新的硬碟,並且直接掛載 /home 底下,那麼當你掛載上新的分割槽時,則 /home 目錄顯示的是新分割槽內的數據,至於原先的 test 與 vbird 這兩個目錄就會暫時的被隱藏掉了!註意:並不是被覆蓋掉, 而是暫時的隱藏了起來,等到新分割槽被卸除之後,則 /home 原本的內容就會再次的跑出來啦!
格式:
mount [-t 文件系統] [-o 額外選項] 裝置文件名 掛載點
參數:
選項與參數: -a :依照配置文件 /etc/fstab 的數據將所有未掛載的磁碟都掛載上來 -l :單純的輸入 mount 會顯示目前掛載的信息。加上 -l 可增列 Label 名稱! -t :與 mkfs 的選項非常類似的,可以加上文件系統種類來指定欲掛載的類型。 常見的 Linux 支持類型有:ext2, ext3, vfat, reiserfs, iso9660(光碟格式), nfs, cifs, smbfs(此三種為網路文件系統類型) -n :在預設的情況下,系統會將實際掛載的情況實時寫入 /etc/mtab 中,以利其他程式 的運行。但在某些情況下(例如單人維護模式)為了避免問題,會刻意不寫入。 此時就得要使用這個 -n 的選項了。 -L :系統除了利用裝置文件名 (例如 /dev/hdc6) 之外,還可以利用文件系統的標頭名稱 (Label)來進行掛載。最好為你的文件系統取一個獨一無二的名稱吧! -o :後面可以接一些掛載時額外加上的參數!比方說賬號、密碼、讀寫許可權等: rw 讀寫 ro 只讀 suid 支持suid dev 支持設備文件 nodev 不支持設備文件 noexec 不允許執行二進位文件 exec 允許執行二進位文件 auto mount -a 開機自動掛載 noauto mount -a 開機不自動掛載 async 非同步寫入 sync 同步同入 noatime 不更新訪問時間atime usrquota 支持用戶級磁碟配額功能 grpquota 支持組級磁碟配額功能 acl 支持acl功能 remount 線上重新掛載 pri 指定優先順序
示例
mount -t ext4 -o acl /dev/sdb1 /mnt/disk1 文件系統類型:ext4,xfs,nfs,cifs,iso9660,loop
3.1 掛載IOS文件
[root@centos7-1 ~]# mount -o loop /data/CentOS-7.3-x86_64-DVD-1611.iso /ios/
[root@centos7-1 ~]# df -h
文件系統 容量 已用 可用 已用% 掛載點
/dev/mapper/centos-root 202G 34G 169G 17% /
devtmpfs 1.7G 0 1.7G 0% /dev
tmpfs 1.8G 12M 1.7G 1% /dev/shm
tmpfs 1.8G 26M 1.7G 2% /run
tmpfs 1.8G 0 1.8G 0% /sys/fs/cgroup
/dev/sda1 794M 179M 616M 23% /boot
/dev/mapper/centos-opt 200G 85M 200G 1% /opt
/dev/mapper/centos-home 51G 37M 51G 1% /home
tmpfs 349M 36K 349M 1% /run/user/0
/dev/loop0 4.1G 4.1G 0 100% /ios
3.2 開機自動掛載
/etc/fstab
格式說明:
要掛載的資源路徑 掛載點 資源類型 掛載選項 dump備份支持 文件系統檢測
/dev/vda1 / ext4 defaults 1 1
1段:掛載的設備(磁碟設備的文件名或設備的捲標或者是設備的UUID)
2段:掛載點(建議用一個空目錄)
3段:文件系統類型(ext3、ext4、vfat、ntfs、swap等等)
4段:文件系統選項(fs mntops)在裝載文件系統時使用的裝載選項
5段:是否支持dump備份。0代表不要做dump備份,1代表要每天進行dump的動作,2也代表其他不定日期的dump備份。數字越小優先順序越高。
6段:是否用 fsck 檢驗扇區。#開機的過程中,系統預設會用fsck檢驗文件系統是否完整。0是不要檢驗,1表示最先檢驗(一般只有根目錄會設定為1)
[root@centos7-1 ~]# cat /etc/fstab
...
需要掛載的設備 掛載點 文件類型
/dev/mapper/cl-root / xfs defaults 0 0
/dev/mapper/cl-swap swap swap defaults 0 0
示例:
[root@centos7-1 ~]# blkid /dev/vdb1 /dev/vdb1: UUID="a9c72628-f6b1-4feb-bdfb-9fa456d119bb" TYPE="xfs" [root@centos7-1 ~]# vim /etc/fstab UUID=a9c72628-f6b1-4feb-bdfb-9fa456d119bb /newFS xfs defaults 0 0
3.3 Automount 自動掛載
3.3.1 本地掛載
- 掛載是由訪問產生的:設置開機不一定要掛載的目錄,當用的時候才實現自動掛載。
- 卸載是由超時產生的:用戶不使用自動掛載的目錄一段的時間,會自動卸載。(預設時間為5分鐘)
autofs ----自動掛載的軟體
[root@centos7-1 ~]# rpm -q autofs
autofs-5.0.7-56.el7.x86_64
配置文件:
/etc/auto.master 主配置文件
/etc/auto.misc 子配置文件/etc/sysconfig/autofs 額外配置文件
/usr/sbin/automount 二進位命令
示例:
通過autofs 自動掛載本地設備 /dev/vdb1 到 /fs 目錄
第1步:修改主配置文件,定義一級掛載點以及子配置文件, --timeout=20 設置超時時間為20秒。20秒如果沒有訪問,自動卸載
[root@centos7-1 ~]# vim /etc/auto.master
/- /etc/auto.fs --timeout=20
第2步:創建子配置文件,並定義二級掛載點
[root@centos7-1 ~]# vim /etc/auto.fs
/fs -fstype=xfs,rw :/dev/vdb1
一級二級掛載點說明:將/dev/vda1 掛載到/u01/vd1目錄下,那麼一級掛載點就是/dev、二級掛載點就是vd1
如果單獨只有一級目錄,那麼auto.master裡面寫/-
第3步:啟動服務並查看狀態
[root@centos7-1 ~]# systemctl start autofs
[root@centos7-1 ~]# systemctl status autofs
第4步:測試驗證
[root@centos7-1 ~]# df -h // 可以查看到沒有進行使用,雖然啟動了服務,但是還是沒有掛載
文件系統 容量 已用 可用 已用% 掛載點
/dev/mapper/cl-root 9.1G 3.7G 5.4G 41% /
devtmpfs 481M 0 481M 0% /dev
tmpfs 497M 124K 497M 1% /dev/shm
tmpfs 497M 14M 484M 3% /run
tmpfs 497M 0 497M 0% /sys/fs/cgroup
/dev/vda1 497M 166M 332M 34% /boot
tmpfs 100M 8.0K 100M 1% /run/user/42
tmpfs 100M 16K 100M 1% /run/user/0
[root@centos7-1 ~]# cd /fs/ // 一旦掛載點進行了使用,再次查看,就自動掛載上了
[root@centos7-1 fs]# ls
[root@centos7-1 fs]# df -h
文件系統 容量 已用 可用 已用% 掛載點
/dev/mapper/cl-root 9.1G 3.7G 5.4G 41% /
devtmpfs 481M 0 481M 0% /dev
tmpfs 497M 124K 497M 1% /dev/shm
tmpfs 497M 14M 484M 3% /run
tmpfs 497M 0 497M 0% /sys/fs/cgroup
/dev/vda1 497M 166M 332M 34% /boot
tmpfs 100M 8.0K 100M 1% /run/user/42
tmpfs 100M 16K 100M 1% /run/user/0
/dev/vdb1 2.0G 33M 2.0G 2% /fs
[root@centos7-1 ~]# date // 測試超時是否自動卸載
2018年 11月 09日 星期五 16:21:19 CST
[root@centos7-1 ~]# date
2018年 11月 09日 星期五 16:21:51 CST
[root@centos7-1 ~]# df -h // 時間超過了20秒後查看,已自動卸載
文件系統 容量 已用 可用 已用% 掛載點
/dev/mapper/cl-root 9.1G 3.7G 5.4G 41% /
devtmpfs 481M 0 481M 0% /dev
tmpfs 497M 124K 497M 1% /dev/shm
tmpfs 497M 14M 484M 3% /run
tmpfs 497M 0 497M 0% /sys/fs/cgroup
/dev/vda1 497M 166M 332M 34% /boot
tmpfs 100M 8.0K 100M 1% /run/user/42
tmpfs 100M 16K 100M 1% /run/user/0
3.3.2 遠程掛載 NFS
要求:將NFS伺服器上的/home/dir1和/home/dir2目錄分別掛載 到 掛載伺服器的/nfs-server/dir1和/nfs-server/dir2上
NFS伺服器:192.168.122.228
簡單準備共用目錄
[root@centos7-2 ~]# mkdir /home/dir{1,2}
[root@centos7-2 ~]# vim /etc/exports
/home/dir1 *(rw,sync,no_root_squash)
/home/dir2 *(rw,sync,no_root_squash)
[root@centos7-2 ~]# systemctl restart nfs-server.service
[root@centos7-2 ~]# systemctl status nfs-server.service
掛載伺服器:192.168.122.205
第1步:查看nfs伺服器共用的目錄
[root@centos7-1 ~]# showmount -e 192.168.122.228
Export list for 192.168.122.228:
/home/dir2 *
/home/dir1 *
手動掛載示例:
[root@centos7-1 ~]# mount -t nfs 192.168.122.228:/home/dir1 /nfs-server/dir1
[root@centos7-1 ~]# mount -t nfs 192.168.122.228:/home/dir2 /nfs-server/dir2
[root@centos7-1 ~]# df -h
文件系統 容量 已用 可用 已用% 掛載點
/dev/mapper/cl-root 9.1G 3.7G 5.4G 41% /
devtmpfs 481M 0 481M 0% /dev
tmpfs 497M 124K 497M 1% /dev/shm
tmpfs 497M 14M 484M 3% /run
tmpfs 497M 0 497M 0% /sys/fs/cgroup
/dev/vda1 497M 166M 332M 34% /boot
tmpfs 100M 8.0K 100M 1% /run/user/42
tmpfs 100M 16K 100M 1% /run/user/0
192.168.122.228:/home/dir1 9.1G 3.7G 5.4G 41% /nfs-server/dir1
192.168.122.228:/home/dir2 9.1G 3.7G 5.4G 41% /nfs-server/dir2
開機自動掛載示例:
[root@centos7-1 ~]# vim /etc/fstab
192.168.122.228:/home/dir1 /nfs-server/dir1 xfs defaults 0 0
192.168.122.228:/home/dir2 /nfs-server/dir2 xfs defaults 0 0
優點:可以實現開機自動掛載
缺點:由於網路連接的不穩定性,會導致網路設備掛載失敗
結論:適合掛載本地設備和持續使用的設備
第2步:修改主配置文件;定義一級掛載點以及子配置文件
[root@centos7-1 ~]# vim /etc/auto.master
/- /etc/auto.nfs --timeout=60
第3步:創建子配置文件
[root@centos7-1 ~]# vim /etc/auto.nfs
/dir1 rw 192.168.122.228:/home/dir1
/dir2 rw 192.168.122.228:/home/dir2
第4步:啟動服務
[root@centos7-1 ~]# systemctl start autofs
[root@centos7-1 ~]# systemctl status autofs
第5步:測試驗證
[root@centos7-1 ~]# df -h
文件系統 容量 已用 可用 已用% 掛載點
/dev/mapper/cl-root 9.1G 3.7G 5.4G 41% /
devtmpfs 481M 0 481M 0% /dev
tmpfs 497M 124K 497M 1% /dev/shm
tmpfs 497M 14M 484M 3% /run
tmpfs 497M 0 497M 0% /sys/fs/cgroup
/dev/vda1 497M 166M 332M 34% /boot
tmpfs 100M 8.0K 100M 1% /run/user/42
tmpfs 100M 16K 100M 1% /run/user/0
[root@centos7-1 ~]# cd /dir1
[root@centos7-1 dir1]# df -h
文件系統 容量 已用 可用 已用% 掛載點
/dev/mapper/cl-root 9.1G 3.7G 5.4G 41% /
devtmpfs 481M 0 481M 0% /dev
tmpfs 497M 124K 497M 1% /dev/shm
tmpfs 497M 14M 484M 3% /run
tmpfs 497M 0 497M 0% /sys/fs/cgroup
/dev/vda1 497M 166M 332M 34% /boot
tmpfs 100M 8.0K 100M 1% /run/user/42
tmpfs 100M 16K 100M 1% /run/user/0
192.168.122.228:/home/dir1 9.1G 3.7G 5.4G 41% /dir1
[root@centos7-1 dir1]# cd /dir2
[root@centos7-1 dir2]# df -h
文件系統 容量 已用 可用 已用% 掛載點
/dev/mapper/cl-root 9.1G 3.7G 5.4G 41% /
devtmpfs 481M 0 481M 0% /dev
tmpfs 497M 124K 497M 1% /dev/shm
tmpfs 497M 14M 484M 3% /run
tmpfs 497M 0 497M 0% /sys/fs/cgroup
/dev/vda1 497M 166M 332M 34% /boot
tmpfs 100M 8.0K 100M 1% /run/user/42
tmpfs 100M 16K 100M 1% /run/user/0
192.168.122.228:/home/dir2 9.1G 3.7G 5.4G 41% /dir2