linux學習 lesson16磁碟的加密、配額和LVM
一、磁碟的加密
磁碟加密的定義:
眾所周知,磁盤裡的資料都是非常重要的。為了保護磁碟資料要進行磁碟加密。在RHEL系統中,可以使用cryptsetup工具對磁碟進行加密操作,再建立檔案系統
,這樣強力破鎖也會伴隨著資料的直接銷燬,實現資料的安全性。
1.命令方法加密
1)加密格式化:必須在解除安裝狀態
cryptsetup luksFormat /dev/vdb1
大寫的YES。
加密成功!
2)解密
cryptsetup open /dev/vdb1 名字 ##解密為xxx檔案,此檔案存放於/dev/mapper/
3)新增檔案系統
mkfs.xfs /dev/mapper/kris ##新增檔案系統
4)測試
掛載
將其掛載並掛載目錄裡touch檔案。
可以看到檔案顯示
關鎖
關鎖之前先解掛(umount)
關鎖cryptsetup close /dev/mapper/kris
檔案不見了
kris檔案也消失。
開鎖
那麼現在怎麼還能看到建立的檔案呢?沒錯,就是再開鎖。
cryptsetup open /dev/vdb1 名字
出現了!
2.開機自動加密
step1:vim /etc/crypttab ###將檔案關聯
檔案裡編輯:解密後名字 解密裝置檔案 密碼位置
step2:vim /root/kriskey ###記錄密碼
step3:
chmod 600 /root/kris ###改變許可權增加安全性
step4:cryptsetup luksAddKey /dev/vdb1 /root/kriskey ###新增加密解密
step5:vim /etc/fstab
檢測:reboot後虛擬機器可啟動,並df掛載成功
錯誤:reboot後,虛擬機器起不了。因為解密後的檔案是一次性的。
改錯:在進系統時,按
刪除r後,改為rw rd.break
按<ctrl+x>切換到單使用者
chroot /sysroot/ 進入真實的根目錄
vim /etc/fatab/
刪除或者註釋自動掛載行 wq退出儲存
命令列輸入兩次exit+回車 重啟。並重新進行開鎖掛載。
3.恢復:
vim /etc/crypttab
vim /etc/fstab
cryptsetup close kris
mkfs.xfs /dev/vdb1 -f
rm -fr /root/kris
二、磁碟配額
為什麼要配額呢?
配合:分配額度,為了約束使用者在磁碟中寫入資料的大小。配額是針對於分割槽的,因為使用者只有在此分割槽裡寫的資料會被限制。
許可權(先掛載,再設定掛載目錄許可權。否則會覆蓋)
chmod 1777 /public/
開啟
mount -o usrquota /dev/vdb1 /public ##開啟usrquota 並掛載vdb1到public下
mount檢視狀態
編輯限額檔案
edquota -u student
編輯內容:限制最大容量為20M(20480k)
裝置名 已用大小 軟體限制警告 使用者能寫入裝置的最大容量 使用者在裝置的檔案個數 檔案個數軟限 最多可建多少檔案
Filesystem blocks soft hard inodes soft hard
測試
step1
step2
dd if=/dev/zero of=file bs=1M count=10
^ ^ ^
檔名稱 單位大小 單位個數
當大小為10M和20M時,檔案建立成功。22M的時候因為過大超過配額而報錯。
永久設定
以上操作的掛載依然是臨時的重啟之後不會生效,如果要永久需要修改fstab檔案。
vim /etc/fstab
/dev/vdb1 /public xfs defaults,usrquota 0 0
三、LVM
1.LVM的介紹
lvm :Logical Volume Manager(邏輯卷管理)是可以使硬碟無限擴容:
PV(物理卷):物理卷在邏輯卷管理系統最底層,可謂整個物理硬碟或實際物理硬碟上的分割槽。
VG(物理卷組):卷組建立在物理捲上,一卷組中至少要包括一些物理卷,卷組建立後可動態添加捲到卷組中,一個邏輯卷管理系統工作中可有多個卷組。
LV:邏輯卷建立在卷組基礎上,卷組中未分配空間可用於建立新的邏輯卷,邏輯卷建立後可動態拓展或縮小空間
PE(物理拓展,lvm最小的儲存單元): 物理分割槽是物理卷中可用於分配的最小儲存單元,物理區域大小在建立卷組時指定,一旦確定不能更改,同一卷組所有物理卷的物理區域大小需一致,新的pv加入vg後,pe的大小自動更改為vg中定義的pe大小。
下面一張圖片表現各個部分關係:
2.安裝LVM
首先確定系統中是否安裝了lvm工具:
rpm -qa|grep lvm
如果命令結果與上例相似,說明系統已經安裝了LVM管理工具;如果命令沒有輸出則說明沒有安裝LVM管理工具,則需要從網路下載或者從光碟裝LVM rpm工具包。
3.建立LVM分割槽
監控命令
watch -n 1 'pvs;echo ==;vgs;echo ==;lvs;echo ==;df -h /mnt'
pvs |pvdisplay #檢視物理卷
vgs |vgdisplay #檢視物理圈組
lvs |lvdisplay #對邏輯卷裝置進行檢視
建立LVM分割槽
刪除原有的分割槽。新建分割槽並使用t切換格式,接著l列出所有格式。
找到LVM格式。
在此處linux LVM是我們要選擇的,他的代號是8e。在命令列輸入代號轉換格式。
pvcreate /dev/vdb1 #把物理分割槽做成物理卷
vgcreate vg0 /dev/vdb1 #用製作好的/dev/vdb1這個物理卷做成一個物理卷組
lvcreate -L 300M -n lv0 vg0 #在vg0組中建立出lv0裝置 -L 指定裝置大小 -n 指定裝置的名字lv0
mkfs.ext4 /dev/vg0/lv0 ##格式化為ext檔案
mount /dev/vg0/lv0 /mnt/ ##將裝置掛載
看到了mnt size變成了283M 這是因為換算方法不同。一個是1/1024一個是1/1000.
4.拉伸
vg夠用
lvextend -L 1800M /dev/vg0/lv0 ##將裝置拉伸到1800M
lv size變為1000M
vg不夠用
如果要擴大到2000M呢?那我們的vdb1顯然是不夠用的。
fdisk /dev/vdb ##建立新lvm磁碟
partprobe同步分割槽表
pvcreate /dev/vdb2 ###把物理分割槽做成物理卷
vgextend vg0 /dev/vdb2 ###用製作好的/dev/vdb2這個物理卷做成一個物理卷組
VG變成了2G了。加盤成功。
5.LVM壓縮
umount /mnt/ 先解除安裝
e2fsck -f /dev/vg0/lv0 ##看看佔用了多少(最小能縮小到多少)##必須檢視
為了不使檔案遭到破壞壓縮大小必須大於此值。不檢視無法進行下面步驟。
resize2fs /dev/vg0/lv0 ##縮小檔案系統
必須先縮小檔案系統,保護檔案
mount /dev/vgo/lv0 /mnt/ ##掛載
lvreduce -L 1000M /dev/vg0/lv0 ##將硬體裝置縮小。
刪除pv
在圖中監控可以看到vdb2是完全閒置的,那麼我們就可以將它拿出VG。
vgreduce vg0 /dev/vdb2
想要拿出一個不為空的pv怎麼辦?
先將其內容轉移
vgextend vg0 /dev/vdb2 ##先將vdb2重新拉回
pvmove /dev/vdb1 /dev/vdb2 ##將檔案移動
此時vdb2閒置可以將其拿出VG。
vgreduce vg0 /dev/vdb1 ##分解vdb1和vg
將pv刪除
pvremove vg0 /dev/vdb1 ##刪除vdb1
6.磁碟快照
touch /mnt/file ###在原檔案/dev/vg0/lv0掛載/mnt狀態下
lvcreate -L 100M -n lv0backup -s /dev/vg0/lv0 #製作一個容量為50M的快照lv0backup
mount /dev/vg0/lv0backup /mnt/ 同步到檔案系統
ls /mnt
快照掛載檔案依然在。
刪除快照裡/mnt的所有檔案。
rm -fr /mnt/*
ls /mnt
umount /mnt ##解除安裝快照
lvremove /dev/vg0/lv0backup ##刪除快照
lvcreate -L 100M -n lv0backup -s /dev/vg0/lv0 ##新建快照
mount /dev/vg0/lv0backup /mnt/ ##掛載新快照
ls /mnt
發現檔案還在。
此實驗證明,快照建立之後磁盤裡內容不會被更改。只是被刪除的快照內容。
7.刪除LVM可擴充套件磁碟分割槽
umount /mnt/
lvremove /dev/vg0/lv0backup #刪除快照
lvremove /dev/vg0/lv0 #刪除lv0
vgremove vg0 #刪除vg0
pvremove /dev/vdb{1…2} #刪除物理分割槽