
- Linux 系統管理員教程
- 首頁
- CentOS概述
- 基本的 CentOS Linux 命令
- 檔案/資料夾管理
- 使用者管理
- 配額管理
- Systemd 服務啟動和停止
- 使用 systemctl 進行資源管理
- 使用 crgoups 進行資源管理
- 程序管理
- 防火牆設定
- 在 CentOS Linux 中配置 PHP
- 使用 CentOS Linux 設定 Python
- 在 CentOS Linux 中配置 Ruby
- 為 CentOS Linux 設定 Perl
- 安裝和配置 Open LDAP
- 建立 SSL 證書
- 安裝 Apache Web 伺服器 CentOS 7
- 在 CentOS 7 上設定 MySQL
- 設定 Postfix MTA 和 IMAP/POP3
- 安裝匿名 FTP
- 遠端管理
- CentOS 中的流量監控
- 日誌管理
- 備份和恢復
- 系統更新
- Shell 指令碼
- 軟體包管理
- 卷管理
- Linux 系統管理員有用資源
- Linux 系統管理員 - 快速指南
- Linux 系統管理員 - 有用資源
- Linux 系統管理員 - 討論
Linux 系統管理員 - 卷管理
邏輯卷管理 (LVM) 是 Linux 用於管理跨不同物理硬碟的儲存卷的一種方法。這與 RAID 不同。但是,可以將其視為與 RAID 0 或 J-Bod 類似的概念。使用 LVM,可以(例如)擁有三個 1TB 的物理磁碟,然後建立一個大約 3TB 的邏輯卷,例如 /dev/sdb。甚至可以建立兩個 1.5TB 的邏輯卷、5 個 500GB 的邏輯卷,或任何組合。一個磁碟甚至可以用於邏輯卷的快照。
注意 − 正確配置後,使用邏輯卷實際上會增加磁碟 I/O。這與 RAID 0 將資料跨多個磁碟條帶化的方式類似。
在學習使用 LVM 進行卷管理時,如果我們瞭解 LVM 中每個元件是什麼,會更容易。請研究下表以牢固掌握每個元件。如有必要,可以使用 Google 進行學習。瞭解邏輯卷的每個部分對於管理它們非常重要。
PV | 物理卷 | sda |
PP | 物理分割槽 | sda1 , sda2 |
VG | 卷組 | 合併的物理資源 |
LV | 邏輯卷 | 被作業系統視為儲存裝置 |
物理卷 將顯示為 /dev/sda、/dev/sdb;Linux 檢測到的物理磁碟。
物理分割槽 將是磁碟實用程式(如 fdisk)分割槽的磁碟的一部分。請記住,在大多數常見的 LVM 設定中不建議使用物理分割槽。例如:磁碟 /dev/sda 被分割槽以包含兩個物理分割槽:/dev/sda1 和 /dev/sda1
如果我們有兩個 1TB 的物理磁碟,我們可以在這兩個磁碟之間建立一個接近 2TB 的卷組。
從卷組中,我們可以建立三個邏輯卷,每個邏輯卷的大小不超過卷組的總大小。
傳統的 Linux 磁碟管理工具
在熟悉 CentOS 7 中用於 LVM 管理的最新且功能最強大的工具之前,我們應該首先探索更多傳統上用於 Linux 磁碟管理的工具。這些工具會派上用場,並且仍然可以與當今的先進 LVM 工具(如系統儲存管理器:lsblk、parted 和 mkfs.xfs)一起使用。
現在,假設我們向系統添加了另一個或兩個磁碟,我們需要列舉 Linux 檢測到的磁碟。我始終建議在執行被視為破壞性操作之前每次都列舉磁碟。lsblk 是獲取磁碟資訊的絕佳工具。讓我們看看 CentOS 檢測到哪些磁碟。
[root@localhost rdc]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 19G 0 part ├─cl-root 253:0 0 17G 0 lvm / └─cl-swap 253:1 0 2G 0 lvm [SWAP] sdb 8:16 0 6G 0 disk sdc 8:32 0 4G 0 disk sr0 11:0 1 1024M 0 rom
如您所見,此係統上有三個磁碟:sda、sdb 和 sdc。
磁碟 sda 包含我們正在使用的 CentOS 安裝,因此我們不想亂動 sda。sdb 和 sdc 都已新增到系統中以用於本教程。讓我們使這些磁碟可供 CentOS 使用。
建立磁碟標籤
[root@localhost rdc]# parted /dev/sdb mklabel GPT Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue? Yes/No? Yes [root@localhost rdc]#
我們現在有一個磁碟已標記。只需以相同的方式在sdc 上執行parted 命令即可。
在磁碟上建立分割槽
我們每個磁碟只建立一個分割槽。要建立分割槽,再次使用parted 命令。
[root@localhost rdc]# parted -a opt /dev/sdb mkpart primary ext4 0% 100%
警告 − 您請求從 0.00B 到 6442MB(扇區 0..12582911)的分割槽。
我們可以管理的最接近的位置是 17.4kB 到 1048kB(扇區 34..2047)。
您是否仍然接受此操作?
是/否? 否
[root@localhost rdc]# parted -a opt /dev/sdc mkpart primary ext4 0% 100%
資訊 − 您可能需要更新 /etc/fstab。
[root@localhost rdc]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 1G 0 part / boot └─sda2 8:2 0 19G 0 part ├─cl-root 253:0 0 17G 0 lvm / └─cl-swap 253:1 0 2G 0 lvm [SWAP] sdb 8:16 0 6G 0 disk └─sdb1 8:17 0 6G 0 part sdc 8:32 0 4G 0 disk └─sdc1 8:33 0 4G 0 part sr0 11:0 1 1024M 0 rom [root@localhost rdc]#
如您從 lsblk 輸出中所見,我們現在有兩個分割槽,每個分割槽都在 sdb 和 sdc 上。
建立檔案系統
最後,在掛載和使用任何卷之前,我們需要新增一個檔案系統。我們將使用 XFS 檔案系統。
root@localhost rdc]# mkfs.xfs -f /dev/sdb1 meta-data = /dev/sdb1 isize = 512 agcount = 4, agsize = 393088 blks = sectsz = 512 attr = 2, projid32bit = 1 = crc = 1 finobt = 0, sparse = 0 data = bsize = 4096 blocks = 1572352, 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 [root@localhost rdc]# mkfs.xfs -f /dev/sdc1 meta-data = /dev/sdc1 isize = 512 agcount = 4, agsize = 262016 blks = sectsz = 512 attr = 2, projid32bit = 1 = crc = 1 finobt = 0, sparse = 0 data = bsize = 4096 blocks = 1048064, 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 [root@localhost rdc]#
讓我們檢查一下以確保每個卷都有一個可用的檔案系統。
[root@localhost rdc]# lsblk -o NAME,FSTYPE NAME FSTYPE sda ├─sda1 xfs └─sda2 LVM2_member ├─cl-root xfs └─cl-swap swap sdb └─sdb1 xfs sdc └─sdc1 xfs sr0 [root@localhost rdc]#
每個卷現在都使用 XFS 檔案系統。讓我們掛載它們,檢查掛載點,並將檔案複製到每個卷。
[root@localhost rdc]# mount -o defaults /dev/sdb1 /mnt/sdb [root@localhost rdc]# mount -o defaults /dev/sdc1 /mnt/sdc [root@localhost ~]# touch /mnt/sdb/myFile /mnt/sdc/myFile [root@localhost ~]# ls /mnt/sdb /mnt/sdc /mnt/sdb: myFile /mnt/sdc: myFile
此時,我們有兩個可用的磁碟。但是,只有在我們手動掛載它們時,它們才能使用。要掛載每個磁碟以在啟動時使用,我們必須編輯fstab 檔案。此外,必須為需要訪問新磁碟的組設定許可權。
建立卷組和邏輯卷
CentOS 7 最棒的改進之一是包含了一個名為系統儲存管理器或ssm 的實用程式。系統儲存管理器極大地簡化了在 Linux 上管理 LVM 池和儲存卷的過程。
我們將逐步介紹在 CentOS 中建立簡單卷池和邏輯卷的過程。第一步是安裝系統儲存管理器。
[root@localhost rdc]# yum install system-storage-manager
讓我們使用ssm list 命令檢視我們的磁碟。

如上所示,系統上安裝了總共三個磁碟。
/sdba1 − 託管我們的 CentOS 安裝
/sdb1 − 掛載到 /mnt/sdb
/sdc1 − 掛載到 /mnt/sdc
我們要做的是使用兩個磁碟(sdb 和 sdc)建立一個卷組。然後使三個 3GB 的邏輯卷可供系統使用。
讓我們建立卷組。
[root@localhost rdc]# ssm create -p NEW_POOL /dev/sdb1 /dev/sdc1
預設情況下,ssm 將建立一個擴充套件整個池 10GB 的單個邏輯卷。我們不希望這樣做,因此讓我們將其刪除。
[root@localhost rdc]# ssm remove /dev/NEW_POOL/lvol001 Do you really want to remove active logical volume NEW_POOL/lvol001? [y/n]: y Logical volume "lvol001" successfully removed [root@localhost rdc]#
最後,讓我們建立三個邏輯卷。
[root@localhost rdc]# ssm create -n disk001 --fs xfs -s 3GB -p NEW_POOL [root@localhost rdc]# ssm create -n disk002 --fs xfs -s 3GB -p NEW_POOL [root@localhost rdc]# ssm create -n disk003 --fs xfs -s 3GB -p NEW_POOL
現在,讓我們檢查新卷。

我們現在有三個獨立的邏輯卷跨兩個物理磁碟分割槽擴充套件。
邏輯卷是現在內置於 CentOS Linux 中的一項強大功能。我們已經觸及了管理它們的表面。掌握池和邏輯卷需要實踐和從 Tutorials Point 進行擴充套件學習。目前,您已經學習了 CentOS 中 LVM 管理的基礎知識,並且能夠在單個主機上建立基本的條帶化邏輯卷。