1.本地存儲設備的識別
fdisk -l 真實存在的設備
cat /proc/partition 系統識別的設備
blkid 系統可以使用的設備
df 查看系統正在掛載的設備
2.設備的掛載和卸載
/dev/xdx 設備名稱
/dev/sr0 光驅 (光驅可以通過eject命令彈出)
/dev/mapper/ 虛擬設備
mount(umount) /dev/hd0/ /mnt 掛載(卸載)/dev/hd0 到/mnt下
3.磁盤的分區
分區就是將一塊硬盤,無論是什麼格式的,把它的空間分爲幾塊,這樣能更有效,高效的使用硬盤。
磁盤分區是在磁盤上劃分幾個邏輯部分,盤片一旦劃分成數個分區,不同類的目錄與文件可以存儲進不同的分區。可以將文件的性質區分得更細,按照更爲細分的性質,存儲在不同的地方以管理文件。
用fdisk -l查看系統的磁盤使用情況,發現/dev/vdb/爲空磁盤,用/dev/vdb/做實驗
1)用fdisk /dev/vdb/命令對vdb進行分區
建立三個主分區
第一個主分區
其中:d表示刪除;n表示新建一個分區;p表示顯示分區信息;q表示不保存退出;t表示修改分區的id;w表示保存分區表到硬盤。
第二個主分區
第三個主分區
建立擴展分區(將主分區之外的空間都給擴展區分,在擴展分區中又能劃分邏輯分區)
在擴展分區中建立邏輯分區
保存退出
2)分區的刪除
2)給設備鋪設文件系統
mkfs.xfs /dev/vdb1 給vdb1鋪設xfs類型的文件系統
mount /dev/vdb1/ /mnt 掛載/dev/vdb1 到/mnt
測試是否可以使用
卸載之後所建立的文件消失,代表可以使用,文件自動保存在/dev/vdb1中,再次掛載即可卡看並使用
設置開機自動掛載
vim /etc/fstab/ 編輯/etc/fatab/文件
mount -a 用來重啓/etc/fstab中的所有文件系統,同時也可以用來檢測掛載是否正確,當掛載正確時,不會出現報錯
測試:
重啓系統前
重啓系統後
如果自動掛載文件中的內容寫錯了,導致系統就不能正常啓動了,解決方法:可先根據系統提示編輯出錯的配置文件,將修改的內容註釋掉,先將系統啓動,之後再進行排錯
4.swap分區的建立
swap分區: 在系統的物理分區內存不夠用時,把物理內存中的一部分空間釋放出來,以供當前運行的程序使用.那些被釋放的空間可能來自一些很長時間沒有什麼操作的程序,這些被釋放的空間被臨時保存到swap分區中,等到那些程序要運行時,在從swap分區中恢復保存的數據到內存中.通常swap分區的空間應該大於或等於物理內存的大小,最小不小於64M,通常swap分區大小爲物理內存的2-2.5倍.
1)用fdisk /dev/vdb/命令建立新的分區
2)修改分區標籤爲82
通過t來修改分區的id
看到/dev/vdb6的id由原來的Linux改爲了Linux swap / Solaris,代表swap分區已經建立好
3)mkswap /dev/vdb5 給dev/vdb6鋪設文件系統
4)swapon -a /dev/vdb5 掛載swap交換分區
5)swapon -s 查看掛載信息
6)vim /etc/fstab
/dev/vdb5 swap swap defaults 0 0 設置開機自動掛載
5.swap分區的刪除(同時完成卸載)
vim /etc/fstab 修改配置文件(刪除swap分區的開機自動掛載命令)
swapoff /dev/vdb5 關閉swap交換空間(包括交換文件和交換分區)
swapon -s 查看swap分區的使用情況,發現swap交換分區已經關閉.
6.磁盤配額
1)新建分區併爲其鋪設文件系統
鋪設文件系統
2)mkdir /public
chmod 777 /public
ll -d /public
3)掛載
mount -o usrquota /dev/vdb6 /public
ll -d /public
chmod 777 /public
證明文件的權限是記錄在磁盤分區上的,而不是目錄本身
4)對student用戶進行配額
edquota -u student 對student用戶進行限額配置,這裏限額20M(總分區內存100M)
5)設置開機自動掛載
vim /etc/fstab 編輯/dev/vdb7自動掛載的配置文件
6)mount -a 實現/etx/fstab中所有的文件系統的掛載
7)測試:
- 磁盤加密
對磁盤加密以後,可用來保存重要的文件,當不知道密碼強行打開時,磁盤內文件會損壞,安全係數較高
1)新建分區
2)加密 cryptsetup lucksFormat /dev/vdb9
3)打開
crotsetup open /dev/vdb8 xin
打開之後,會在相應目錄產生相應的鏈接文件
4)鋪設文件系統
mkfs.xfs /dev/mapper/xin
5)掛載該分區,進行測試,看該分區是否已經能夠正常使用
mount /dev/mapper/xin /mnt
touch /mnt/file{1..3}
6)卸載
umount /mnt
7)cryprtsetup close xin
原來生成的鏈接文件消失,代表鎖已關閉。
8. lvm
LVM是 Logical Volume Manager(邏輯卷管理)的簡寫,它是Linux環境下對磁盤分區進行管理的一種機制,它由Heinz Mauelshagen在Linux 2.4內核上實現,目前最新版本爲:穩定版1.0.5,開發版 1.1.0-rc2,以及LVM2開發版。Linux用戶安裝Linux操作系統時遇到的一個常見的難以決定的問題就是如何正確地評估各分區大小,以分配合適的硬盤空間。普通的磁盤分區管理方式在邏輯分區劃分好之後就無法改變其大小,當一個邏輯分區存放不下某個文件時,這個文件因爲受上層文件系統的限制,也不能跨越多個分區來存放,所以也不能同時放到別的磁盤上。而遇到出現某個分區空間耗盡時,解決的方法通常是使用符號鏈接,或者使用調整分區大小的工具,但這只是暫時解決辦法,沒有從根本上解決問題。隨着Linux的邏輯卷管理功能的出現,這些問題都迎刃而解,用戶在無需停機的情況下可以方便地調整各個分區大小。
1)pv:物理卷:指磁盤分區或從邏輯上與磁盤分區具有同樣功能的設備(如RAID),是LVM的基本存儲邏輯塊,但和基本的物理存儲介質(如分區、磁盤等)比較,卻包含有與LVM相關的管理參數。
2) vg: 物理卷組:物理卷組(Volume Group,VG)
類似於非LVM系統中的物理磁盤,其由一個或多個物理卷PV組成。可以在卷組上創建一個或多個LV(邏輯卷)。
3) pe:物理擴展: 每一個物理卷PV被劃分爲稱爲PE(Physical Extents)的基本單元,具有唯一編號的PE是可以被LVM尋址的最小單元。PE的大小是可配置的,默認爲4MB。所以物理卷(PV)由大小等同的基本單元PE組成。 lvm的最小存儲單元,lvm是pe的整數倍
4) lvm: 邏輯卷:類似於非LVM系統中的磁盤分區,邏輯卷建立在卷組VG之上。在邏輯卷LV之上可以建立文件系統(比如/home或者/usr等)。是可以直接使用的設備,可以增大縮小並保持原有數據不變。
lvm的建立
1.分區並設定分區格式爲8e
2.監控
watch -n 1 'pvs;echo===;vgs;echo===;lvs;echo===;df -h /mnt'
3.生成pv
pvcreate /dev/vdb1
3.生成vg
vgcreate vg0 /dev/vdb1
補充:
lvdisplay 可以查看lv的大小
vgdisplay 可以查看vg的大小和pe的大小
pvdispaly 可以查看pe的大小
lvs 可以用來查看lv的信息
vgs 可以用來查看vg的信息
pvs 可以用來查看pv的信息
vgcreate -s 8M vg0 /dev/vdb1 生成vg1並指定pe的大小爲8M
lvcreate -l 10 lv0 vg0 指定生成的lv的大小爲10個pe的大小
4.生成lv
lvcreate -L 20M -n lv0 vg0
5.爲dev/vg0/lv0鋪設文件系統
mkfs.xfs /dev/vg0/lv0
變成了一種虛擬設備
6.掛載/dev/vg0/lv0
mount /dev/vg0/lv0 /mnt
7.查看掛載點的信息
df -h /mnt
可以使用,表示已經掛載好。
監控結果
8.設置開機自動掛載
編輯配置文件
lvm的拉伸
xfs文件系統的拉伸
lvm支持熱拉伸(即不用卸載,直接拉伸),不支持縮減
1.當vg中的剩餘容量足夠時
1)lvextend -L 80M /dev/vg0/lv0 拉伸設備至80M
2)xfs_growfs /dev/vg0/lv0 拉伸文件系統,不用指定拉伸的大小,系統自動補全(大小和設備大小一樣)
監控結果:
2.當vg中剩餘容量不足時
1)再次建立分區並修改標籤爲8e
2)pvcreate /dev/vdb2 生成pv
3)vgextend vg0 /dev/vdb2 將生成的物理卷放到物理卷組vg0中
4)lvextend -L 200M /dev/vg0/lv0 拉伸設備至200M
5)xfs_growfs /dev/vg0/lv0 拉伸文件系統,不用指定拉伸的大小,系統自動補全(大小和設備大小一樣)
監控結果
3.ext文件系統的拉伸和縮減
拉伸:lvextend -L 250M /dev/cg0/lv0 拉伸設備,至250M
拉伸文件系統:resize2fs /dev/vg0/lv0 拉伸文件系統,不用指定拉伸的大小,系統自動補全(大小和設備大小一樣)
監控結果
縮減(不支持熱縮減,須先卸載,再縮減)(縮減和拉伸正好相反:拉伸先拉伸設備,再拉伸文件系統;縮減先縮減文件系統,再縮減設備)
1)umount /dev/vg0/lv0 或者 umount /mnt
2)e2fsck -f /dev/vg0/lv0 掃描並檢查
3)resize2fs /dev/vg0/lv0 80M 縮減文件系統至80M
4)lvreduce -L 80M /dev/vg0/lv0 縮減設備至80M(這裏要指定縮減以後的大小)
5)monut /dev/vg0/lv0 /mnt 掛載來查看文件系統的大小是否縮減成功
監控結果
4.vg的縮減
1)當vg未使用時
vgreduce vg0 /dev/vdb2 將/dev/vdb2從vg0中移出(縮減vg)
爲了完成下面的測試,需要將vg再添加進來
vgextend vg0 /dev/vdb2
2)當vg有人在使用時,要進行數據的遷移
pvmove /dev/vdb1 /dev/vdb2 將/dev/vdb1中的數據遷移到/dev/vdb2
vgreduce vg0 /dev/vdb1 將/dev/vdb1從vg0中移出(縮減vg)
pvremove /dev/vdb1 移出/dev/vdb1對應的pv
監控結果
5.lvm快照(快照的損壞不影響原設備)
1)生成lvm快照,大小爲40M
lvcreate -L 40M -n lv0-backup -s /dev/vg0/lv0
2)掛載
mount /dev/vg0/lv0-backup /mnt
3)如果存入的數據大小大於lvm快照本身,則會損壞快照
dd if=/dev/zero of=/mnt/file bs=1M count=50M
此時,/dev/vdb1/lv0-backup會自動卸載
4)再次掛載會報錯
mount /dev/vg0/lv0-backup /mnt
5)重新生成快照
lvremove /dev.vg0/lv0-backup 移除快照
lvcreate -L 40M -n lv0-backup -s /dev/vg0/lv0 重新生成快照
6)lv,vg,pv以及快照的移除
lvremove /dev/vg0/lv0-backup 移除快照
lvremove /dev/vg0/lv0 移除lv0
vgremove vg0 移除vg0
pvremove /dev/vdb2 移除/dev/vdb2生成的快照