RHCSA 系列(六): 使用 Parted 和 SSM 來配置和加密系統存儲
RHCSA: 配置和加密系統存儲 – Part 6
請注意,我們將在這篇文章中展開這個話題,但由於該話題的寬泛性,我們將在下一期中繼續介紹有關它的描述和使用。
在 RHEL 7 中創建和修改分區
在 RHEL 7 中, parted 是默認的用來處理分區的程序,且它允許你:
- 展示當前的分區表
- 操縱(擴大或縮小分區的大小)現有的分區
- 利用空餘的磁碟空間或額外的物理存儲設備來創建分區
強烈建議你在試圖增加一個新的分區或對一個現有分區進行更改前,你應當確保該設備上沒有任何一個分區正在使用(umount /dev/分區
),且假如你正使用設備的一部分來作為 swap 分區,在進行上面的操作期間,你需要將它禁用(swapoff -v /dev/分區
) 。
實施上面的操作的最簡單的方法是使用一個安裝介質例如一個 RHEL 7 的 DVD 或 USB 安裝盤以急救模式啟動 RHEL(Troubleshooting
→ Rescue a Red Hat Enterprise Linux system
),然後當讓你選擇一個選項來掛載現有的 Linux 安裝時,選擇「跳過」這個選項,接著你將看到一個命令行提示符,在其中你可以像下圖顯示的那樣開始鍵入與在一個未被使用的物理設備上創建一個正常的分區時所用的相同的命令。
RHEL 7 急救模式
要啟動 parted,只需鍵入:
# parted /dev/sdb
其中 /dev/sdb
是你將要創建新分區所在的設備;然後鍵入 print
來顯示當前設備的分區表:
創建新的分區
正如你所看到的那樣,在這個例子中,我們正在使用一個 5 GB 的虛擬驅動器。現在我們將要創建一個 4 GB 的主分區,然後將它格式化為 xfs 文件系統,它是 RHEL 7 中默認的文件系統。
你可以從一系列的文件系統中進行選擇。你將需要使用 mkpart
來手動地創建分區,接著和平常一樣,用 mkfs.類型
來對分區進行格式化,因為 mkpart
並不支持許多現代的文件系統的到即開即用。
在下面的例子中,我們將為設備設定一個標記,然後在 /dev/sdb
上創建一個主分區 (p)
,它從設備的 0% 開始,並在 4000MB(4 GB) 處結束。
標記分區的名稱
接下來,我們將把分區格式化為 xfs 文件系統,然後再次列印出分區表,以此來確保更改已被應用。
# mkfs.xfs /dev/sdb1
# parted /dev/sdb print
格式化分區為 XFS 文件系統
對於舊一點的文件系統,在 parted 中你可以使用 resize
命令來改變分區的大小。不幸的是,這隻適用於 ext2, fat16, fat32, hfs, linux-swap, 和 reiserfs (若 libreiserfs 已被安裝)。
因此,改變分區大小的唯一方式是刪除它然後再創建它(所以,確保你對你的數據做了完整的備份!)。毫無疑問,在 RHEL 7 中默認的分區方案是基於 LVM 的。
使用 parted 來移除一個分區,可以用:
# parted /dev/sdb print
# parted /dev/sdb rm 1
移除或刪除分區
邏輯卷管理(LVM)
一旦一個磁碟被分好了分區,再去更改分區的大小就是一件困難或冒險的事了。基於這個原因,假如我們計劃在我們的系統上對分區的大小進行更改,我們應當考慮使用 LVM 的可能性,而不是使用傳統的分區系統。這樣多個物理設備可以組成一個邏輯組,以此來存放任意數目的邏輯卷,而邏輯卷的增大或減少不會帶來任何麻煩。
簡單來說,你會發現下面的示意圖對記住 LVM 的基礎架構或許有用。
LVM 的基本架構
創建物理卷,卷組和邏輯卷
遵循下面的步驟是為了使用傳統的卷管理工具來設置 LVM。由於你可以通過閱讀這個網站上的 LVM 系列來擴展這個話題,我將只是概要的介紹設置 LVM 的基本步驟,然後與使用 SSM 來實現相同功能做個比較。
注: 我們將使用整個磁碟 /dev/sdb
和 /dev/sdc
來作為物理卷(PV),但是否執行相同的操作完全取決於你。
1. 使用 /dev/sdb 和 /dev/sdc 中 100% 的可用磁碟空間來創建分區 /dev/sdb1
和 /dev/sdc1
:
# parted /dev/sdb print
# parted /dev/sdc print
創建新分區
2. 分別在 /dev/sdb1 和 /dev/sdc1 上共創建 2 個物理卷。
# pvcreate /dev/sdb1
# pvcreate /dev/sdc1
創建兩個物理卷
記住,你可以使用 pvdisplay /dev/sd{b,c}1 來顯示有關新建的物理卷的信息。
3. 在上一步中創建的物理卷之上創建一個卷組(VG):
# vgcreate tecmint_vg /dev/sd{b,c}1
創建卷組
記住,你可使用 vgdisplay tecmint_vg 來顯示有關新建的卷組的信息。
4. 像下面那樣,在卷組 tecmint_vg 之上創建 3 個邏輯卷(LV):
# lvcreate -L 3G -n vol01_docs tecmint_vg [vol01_docs → 3 GB]
# lvcreate -L 1G -n vol02_logs tecmint_vg [vol02_logs → 1 GB]
# lvcreate -l 100%FREE -n vol03_homes tecmint_vg [vol03_homes → 6 GB]
創建邏輯卷
記住,你可以使用 lvdisplay tecmintvg 來顯示有關在 tecmintvg 之上新建的邏輯卷的信息。
5. 格式化每個邏輯卷為 xfs 文件系統格式(假如你計劃在以後將要縮小卷的大小,請別使用 xfs 文件系統格式!):
# mkfs.xfs /dev/tecmint_vg/vol01_docs
# mkfs.xfs /dev/tecmint_vg/vol02_logs
# mkfs.xfs /dev/tecmint_vg/vol03_homes
6. 最後,掛載它們:
# mount /dev/tecmint_vg/vol01_docs /mnt/docs
# mount /dev/tecmint_vg/vol02_logs /mnt/logs
# mount /dev/tecmint_vg/vol03_homes /mnt/homes
移除邏輯卷,卷組和物理卷
7.現在我們將進行與剛才相反的操作並移除邏輯卷、卷組和物理卷:
# lvremove /dev/tecmint_vg/vol01_docs
# lvremove /dev/tecmint_vg/vol02_logs
# lvremove /dev/tecmint_vg/vol03_homes
# vgremove /dev/tecmint_vg
# pvremove /dev/sd{b,c}1
8. 現在,讓我們來安裝 SSM,我們將看到如何只用一步就完成上面所有的操作!
# yum update && yum install system-storage-manager
我們將和上面一樣,使用相同的名稱和大小:
# ssm create -s 3G -n vol01_docs -p tecmint_vg --fstype ext4 /mnt/docs /dev/sd{b,c}1
# ssm create -s 1G -n vol02_logs -p tecmint_vg --fstype ext4 /mnt/logs /dev/sd{b,c}1
# ssm create -n vol03_homes -p tecmint_vg --fstype ext4 /mnt/homes /dev/sd{b,c}1
是的! SSM 可以讓你:
- 初始化塊設備來作為物理卷
- 創建一個卷組
- 創建邏輯卷
- 格式化邏輯卷,以及
- 只使用一個命令來掛載它們
9. 現在,我們可以使用下面的命令來展示有關物理卷、卷組或邏輯卷的信息:
# ssm list dev
# ssm list pool
# ssm list vol
檢查有關物理卷、卷組或邏輯卷的信息
10. 正如我們知道的那樣, LVM 的一個顯著的特點是可以在不停機的情況下更改(增大或縮小)邏輯卷的大小:
假定在 vol02logs 上我們用盡了空間,而 vol03homes 還留有足夠的空間。我們將把 vol03homes 的大小調整為 4 GB,並使用剩餘的空間來擴展 vol02logs:
# ssm resize -s 4G /dev/tecmint_vg/vol03_homes
再次運行 ssm list pool
,並記錄 tecmint_vg 中的剩餘空間的大小:
查看卷的大小
然後執行:
# ssm resize -s+1.99 /dev/tecmint_vg/vol02_logs
注: 在 -s
後的加號暗示特定值應該被加到當前值上。
11. 使用 ssm 來移除邏輯卷和卷組也更加簡單,只需使用:
# ssm remove tecmint_vg
這個命令將返回一個提示,詢問你是否確認刪除卷組和它所包含的邏輯卷:
移除邏輯卷和卷組
管理加密的卷
SSM 也給系統管理員提供了為新的或現存的卷加密的能力。首先,你將需要安裝 cryptsetup 軟體包:
# yum update && yum install cryptsetup
然後寫出下面的命令來創建一個加密卷,你將被要求輸入一個密碼來增強安全性:
# ssm create -s 3G -n vol01_docs -p tecmint_vg --fstype ext4 --encrypt luks /mnt/docs /dev/sd{b,c}1
# ssm create -s 1G -n vol02_logs -p tecmint_vg --fstype ext4 --encrypt luks /mnt/logs /dev/sd{b,c}1
# ssm create -n vol03_homes -p tecmint_vg --fstype ext4 --encrypt luks /mnt/homes /dev/sd{b,c}1
我們的下一個任務是往 /etc/fstab 中添加條目來讓這些邏輯卷在啟動時可用,而不是使用設備識別編號(/dev/something)。
我們將使用每個邏輯卷的 UUID (使得當我們添加其他的邏輯卷或設備後,我們的設備仍然可以被唯一的標記),而我們可以使用 blkid 應用來找到它們的 UUID:
# blkid -o value UUID /dev/tecmint_vg/vol01_docs
# blkid -o value UUID /dev/tecmint_vg/vol02_logs
# blkid -o value UUID /dev/tecmint_vg/vol03_homes
在我們的例子中:
找到邏輯卷的 UUID
接著,使用下面的內容來創建 /etc/crypttab 文件(請更改 UUID 來適用於你的設置):
docs UUID=ba77d113-f849-4ddf-8048-13860399fca8 none
logs UUID=58f89c5a-f694-4443-83d6-2e83878e30e4 none
homes UUID=92245af6-3f38-4e07-8dd8-787f4690d7ac none
然後在 /etc/fstab 中添加如下的條目。請注意到 devicename (/dev/mapper/devicename) 是出現在 /etc/crypttab 中第一列的映射標識:
# Logical volume vol01_docs:
/dev/mapper/docs /mnt/docs ext4 defaults 0 2
# Logical volume vol02_logs
/dev/mapper/logs /mnt/logs ext4 defaults 0 2
# Logical volume vol03_homes
/dev/mapper/homes /mnt/homes ext4 defaults 0 2
現在重啟(systemctl reboot
),則你將被要求為每個邏輯卷輸入密碼。隨後,你可以通過檢查相應的掛載點來確保掛載操作是否成功:
確保邏輯卷掛載點
總結
在這篇教程中,我們開始探索如何使用傳統的卷管理工具和 SSM 來設置和配置系統存儲,SSM 也在一個軟體包中集成了文件系統和加密功能。這使得對於任何系統管理員來說,SSM 是一個非常有價值的工具。
假如你有任何的問題或評論,請讓我們知曉 – 請隨意使用下面的評論框來與我們保存聯繫!
via: http://www.tecmint.com/rhcsa-exam-create-format-resize-delete-and-encrypt-partitions-in-linux/
作者:Gabriel Cánepa 譯者:FSSlc 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive