❶ 如何使用LVM卷管理linux系統中的磁碟
LVM邏輯卷管理器是對Linux系統中對存儲資源進行管理的一種機制,部署LVM邏輯卷管理器需要依次對對物理卷、卷組和邏輯卷的逐個配置,常見的命令分別包括有:
功能/命令 物理卷管理 卷組管理 邏輯卷管理
掃描 pvscan vgscan lvscan
建立 pvcreate vgcreate lvcreate
顯示 pvdisplay vgdisplay lvdisplay
刪除 pvremove vgremove lvremove
擴展 vgextend lvextend
為避免實驗之間互相沖突,請您自行還原虛擬機到最初始狀態,並在虛擬機中添加兩塊新硬碟設備後開機,如圖7-7所示:
圖7-7 在虛擬機中添加一塊新的硬碟設備
在虛擬機中添加兩塊新硬碟設備的目的是為了更好的向同學們演示LVM邏輯卷管理器對於讓用戶無需關心底層物理硬碟設備的特性,咱們將會對這兩塊新的硬碟先進行創建物理卷操作,可以簡單理解成讓硬碟設備支持了LVM技術,然後將兩塊硬碟進行卷組合並,卷組的名稱可以由您來自定義,接下來是將合並後的卷組根據需求再切割出一個約為150M的邏輯卷設備,最後將這個邏輯卷設備格式化成XFS文件系統後掛載使用。現在知道大致的流程後就可以,劉遄老師還會對下面每一個步驟再做一些簡單的描述。
第1步:讓新添加的兩塊硬碟設備支持LVM邏輯卷管理器技術:
[root@linuxprobe ~]# pvcreate /dev/sdb /dev/sdc
Physical volume "/dev/sdb" successfully created
Physical volume "/dev/sdc" successfully created
第2步:將兩塊硬碟設備都加入到storage卷組中,然後查看下卷組的狀態:
[root@linuxprobe ~]# vgcreate storage /dev/sdb /dev/sdc
Volume group "storage" successfully created
[root@linuxprobe ~]# vgdisplay
--- Volume group ---
VG Name storage
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 39.99 GiB
PE Size 4.00 MiB
Total PE 10238
Alloc PE / Size 0 / 0 Free PE / Size 10238 / 39.99 GiB
VG UUID KUeAMF-qMLh-XjQy-ArUo-LCQI-YF0o-pScxm1
………………省略部分輸出信息………………
第3步:切割出一個約為150M的邏輯卷設備:
同學們需要注意下切割單位的問題,在LVM邏輯卷管理器對LV邏輯卷的切割上面有兩種計量單位,第一種是常見以-L參數來以容量單位為對象,例如使用-L 150M來生成一個大小為150M的邏輯卷,還可以使用-l參數來指定要使用PE基本單元的個數,默認每個PE的大小為4M,因此允許使用-l 37來生成一個大小為37*4M=148M的邏輯卷:
[root@linuxprobe ~]# lvcreate -n vo -l 37 storage
Logical volume "vo" created
[root@linuxprobe ~]# lvdisplay
--- Logical volume ---
LV Path /dev/storage/vo
LV Name vo
VG Name storage
LV UUID D09HYI-BHBl-iXGr-X2n4-HEzo-FAQH-HRcM2I
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2017-02-01 01:22:54 -0500
LV Status available
# open 0
LV Size 148.00 MiB
Current LE 37
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:2
………………省略部分輸出信息………………
第4步:將生成好的邏輯卷格式化後掛載使用:
Linux系統會把LVM邏輯卷管理器中的邏輯卷設備存放在/dev設備目錄中(實際上是做了一個符號鏈接,但讀者們無需關心),同時會以卷組的名稱來建立一個目錄,其中保存有邏輯卷的設備映射文件。
[root@linuxprobe ~]# mkfs.ext4 /dev/storage/vo
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
38000 inodes, 151552 blocks
7577 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=33816576
19 block groups
8192 blocks per group, 8192 fragments per group
2000 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729
Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
[root@linuxprobe ~]# mkdir /linuxprobe
[root@linuxprobe ~]# mount /dev/storage/vo /linuxprobe
第5步:查看掛載狀態,並寫入到配置文件永久生效:
[root@linuxprobe ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 18G 3.0G 15G 17% /
devtmpfs 905M 0 905M 0% /dev
tmpfs 914M 140K 914M 1% /dev/shm
tmpfs 914M 8.8M 905M 1% /run
tmpfs 914M 0 914M 0% /sys/fs/cgroup
/dev/sr0 3.5G 3.5G 0 100% /media/cdrom
/dev/sda1 497M 119M 379M 24% /boot
/dev/mapper/storage-vo 145M 7.6M 138M 6% /linuxprobe
[root@linuxprobe ~]# echo "/dev/storage/vo /linuxprobe ext4 defaults 0 0" >> /etc/fstab
7.2.2 擴容邏輯卷
雖然咱們的卷組是由兩塊硬碟設備共同組成的,但用戶使用存儲資源時感知不到底層硬碟的結構,也不用關心底層是由多少塊硬碟組成的,只要卷組中的資源足夠就可以一直為邏輯卷擴容,擴展前請一定要記得卸載設備和掛載點的關聯。
[root@linuxprobe ~]# umount /linuxprobe
第1步:將上個實驗中的邏輯卷vo擴展至290M:
[root@linuxprobe ~]# lvextend -L 290M /dev/storage/vo
Rounding size to boundary between physical extents: 292.00 MiB
Extending logical volume vo to 292.00 MiB
Logical volume vo successfully resized
第2步:檢查磁碟完整性,重置硬碟容量:
[root@linuxprobe ~]# e2fsck -f /dev/storage/vo
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/storage/vo: 11/38000 files (0.0% non-contiguous), 10453/151552 blocks
[root@linuxprobe ~]# resize2fs /dev/storage/vo
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/storage/vo to 299008 (1k) blocks.
The filesystem on /dev/storage/vo is now 299008 blocks long.
第3步:重新掛載硬碟設備並查看掛載狀態:
[root@linuxprobe ~]# mount -a
[root@linuxprobe ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 18G 3.0G 15G 17% /
devtmpfs 985M 0 985M 0% /dev
tmpfs 994M 80K 994M 1% /dev/shm
tmpfs 994M 8.8M 986M 1% /run
tmpfs 994M 0 994M 0% /sys/fs/cgroup
/dev/sr0 3.5G 3.5G 0 100% /media/cdrom
/dev/sda1 497M 119M 379M 24% /boot
/dev/mapper/storage-vo 279M 2.1M 259M 1% /linuxprobe
7.2.3 縮小邏輯卷
相比於擴容邏輯卷來講,對邏輯卷的縮小操作存在著更高丟失數據的風險,所以在生產環境中同學們一定要留心記得提前備份好數據,另外Linux系統規定對LVM邏輯卷的縮小操作需要先檢查文件系統的完整性,當然這也是在保證咱們的數據安全,操作前記得先把文件系統卸載掉:
[root@linuxprobe ~]# umount /linuxprobe
第1步:檢查文件系統的完整性:
[root@linuxprobe ~]# e2fsck -f /dev/storage/vo
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/storage/vo: 11/74000 files (0.0% non-contiguous), 15507/299008 blocks
第2步:將LV邏輯卷的容量減小到120M:
[root@linuxprobe ~]# resize2fs /dev/storage/vo 120M
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/storage/vo to 122880 (1k) blocks.
The filesystem on /dev/storage/vo is now 122880 blocks long.
[root@linuxprobe ~]# lvrece -L 120M /dev/storage/vo
WARNING: Recing active logical volume to 120.00 MiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to rece vo? [y/n]: y
Recing logical volume vo to 120.00 MiB
Logical volume vo successfully resized
第3步:將文件系統重新掛載並查看系統狀態:
[root@linuxprobe ~]# mount -a
[root@linuxprobe ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 18G 3.0G 15G 17% /
devtmpfs 985M 0 985M 0% /dev
tmpfs 994M 80K 994M 1% /dev/shm
tmpfs 994M 8.8M 986M 1% /run
tmpfs 994M 0 994M 0% /sys/fs/cgroup
/dev/sr0 3.5G 3.5G 0 100% /media/cdrom
/dev/sda1 497M 119M 379M 24% /boot
/dev/mapper/storage-vo 113M 1.6M 103M 2% /linuxprobe
7.2.4 邏輯卷快照
除此之外LVM邏輯卷管理器還具備有「快照卷」的功能,這項功能很類似於我們其他軟體的還原時間點功能。例如我們可以對某一個LV邏輯卷設備做一次快照,如果今後發現數據被改錯了,咱們可以將之前做好的快照卷進行覆蓋還原,LVM邏輯卷管理器的快照功能有兩項特點,第一是快照卷的大小應該盡量等同於LV邏輯卷的容量,第二是快照功能僅一次有效,一旦被還原後則會被自動立即刪除。我們首先應當查看下卷組的信息:
[root@linuxprobe ~]# vgdisplay
--- Volume group ---
VG Name storage
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 2
Act PV 2
VG Size 39.99 GiB
PE Size 4.00 MiB
Total PE 10238
Alloc PE / Size 30 / 120.00 MiB Free PE / Size 10208 / 39.88 GiB
VG UUID CTaHAK-0TQv-Abdb-R83O-RU6V-YYkx-8o2R0e
………………省略部分輸出信息………………
通過卷組的輸出信息可以很清晰的看到卷組中已用120M,空閑資源有39.88G,接下來咱們在邏輯卷設備所掛載的目錄中用重定向寫入一個文件吧:
[root@linuxprobe ~]# echo "Welcome to Linuxprobe.com" > /linuxprobe/readme.txt
[root@linuxprobe ~]# ls /linuxprobe
total 14
drwx------. 2 root root 12288 Feb 1 07:18 lost+found
-rw-r--r--. 1 root root 26 Feb 1 07:38 readme.txt
第1步:使用-s參數來生成一個快照卷,使用-L參數來指定切割的大小,另外要記得在後面寫上這個快照是針對那個邏輯卷做的。
[root@linuxprobe ~]# lvcreate -L 120M -s -n SNAP /dev/storage/vo
Logical volume "SNAP" created
[root@linuxprobe ~]# lvdisplay
--- Logical volume ---
LV Path /dev/storage/SNAP
LV Name SNAP
VG Name storage
LV UUID BC7WKg-fHoK-Pc7J-yhSd-vD7d-lUnl-TihKlt
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2017-02-01 07:42:31 -0500
LV snapshot status active destination for vo
LV Status available
# open 0
LV Size 120.00 MiB
Current LE 30
COW-table size 120.00 MiB
COW-table LE 30
Allocated to snapshot 0.01%
Snapshot chunk size 4.00 KiB
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:3
………………省略部分輸出信息………………
第2步:咱們在LV設備卷所掛載的目錄中創建一個100M的垃圾文件,這樣再來看快照卷的狀態就會發現使用率上升了:
[root@linuxprobe ~]# dd if=/dev/zero of=/linuxprobe/files count=1 bs=100M
1+0 records in
1+0 records out
104857600 bytes (105 MB) copied, 3.35432 s, 31.3 MB/s
[root@linuxprobe ~]# lvdisplay
--- Logical volume ---
LV Path /dev/storage/SNAP
LV Name SNAP
VG Name storage
LV UUID BC7WKg-fHoK-Pc7J-yhSd-vD7d-lUnl-TihKlt
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2017-02-01 07:42:31 -0500
LV snapshot status active destination for vo
LV Status available
# open 0
LV Size 120.00 MiB
Current LE 30
COW-table size 120.00 MiB
COW-table LE 30
Allocated to snapshot 83.71%
Snapshot chunk size 4.00 KiB
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:3
第3步:為了校驗SNAP快照卷的效果,咱們需要對邏輯卷進行快照合並還原操作,在這之前記得先卸載掉邏輯卷設備與目錄的掛載~
[root@linuxprobe ~]# umount /linuxprobe
[root@linuxprobe ~]# lvconvert --merge /dev/storage/SNAP
Merging of volume SNAP started.
vo: Merged: 21.4%
vo: Merged: 100.0%
Merge of snapshot into logical volume vo has finished.
Logical volume "SNAP" successfully removed
第4步:快照卷會被自動刪除掉,並且剛剛在邏輯卷設備被快照後再創建出來的100M垃圾文件也被清除了:
[root@linuxprobe ~]# mount -a
[root@linuxprobe ~]# ls /linuxprobe/
lost+found readme.txt
看下《Linux就該這么學》第7章節吧,第7章 使用RAID與LVM磁碟陣列技術
❷ Linux 中的邏輯卷 LVM 管理完整初學者指南
這是 Linux 中 LVM(邏輯卷管理)的完整初學者指南。
在本教程中,您將了解 LVM 的概念、它的組件以及為什麼要使用它。
我不會僅限於理論上的解釋,我還將展示在 Linux 中創建和管理 LVM 的動手示例。
簡而言之,我將為您提供在現實世界中開始使用 LVM 所需的所有必要信息。
LVM 代表邏輯卷管理。這是管理存儲系統的另一種方法,而不是傳統的基於分區的方法。在 LVM 中,您無需創建分區,而是創建邏輯卷,然後您可以像掛載磁碟分區一樣輕松地將這些卷掛載到文件系統中。
LVM 包含三個主要組件:
盡管該列表由三個部分組成,但其中只有兩個是分區系統的直接對應部分,下表記錄了這一點。
物理卷沒有任何直接對應物,但我很快就會談到這一點。
LVM 的主要優點是調整卷或卷組的大小非常容易。它抽象出了所有醜陋的部分(分區、原始磁碟),並為我們留下了一個中央存儲池可供使用。
如果您曾經經歷過分區大小調整的恐懼,那麼您會想要使用 LVM。
這篇文章不僅僅是理論。在此過程中,我將展示實際的命令示例,學習某些東西的最佳方法是親身實踐。為此,我建議您使用虛擬機。
為了幫助你,我已經准備了一個簡單的 Vagrantfile,你可以用它來用 VirtualBox 啟動一個非常輕量級的虛擬機。此虛擬機具有三個額外的磁碟,您和我可以將它們用於下面的命令示例。
在文件系統的某處創建一個目錄,並將以下內容保存在該文件中,名為Vagrantfile.
或者,如果您願意,可以使用wget或curl從我的 gist 下載文件。
確保你安裝了Vagrant和VirtualBox。
一旦 Vagrantfile 就位,將環境變數設置VAGRANT_EXPERIMENTAL為disks.
最後,使用以下命令啟動虛擬機(確保您與 Vagrantfile 位於同一目錄中):
機器運行後,您可以使用vagrant sshSSH 連接到它並運行本文中的示例命令。
完成後橡坦咐請記住vagrant destroy從與 Vagrantfile 相同的目錄運行。
在您可以使用任何命令之前,您需要安裝該lvm2軟體包。這應該預裝在大多數現代發行版中,尤其是基於 Ubuntu 的發行版中。但是,在繼續之前,我不得不提到這一點。要安裝lvm2,請查閱您的發行版的文檔。
對於這個動手演練,我構建了一個具有 40G 根存儲(不重要)和三個大小為 5G 的外部磁碟的虛擬機。這些磁碟的大小是任意的。
如您所見,我將使用的設備sdc是sdd和sde。
還記得我告訴過你 LVM 包含三個主要組件嗎?
是時候一一見他們了。
關於 LVM,您首先需要了解信大的是物理卷。物理卷是用於實現抽象即邏輯卷的原材料或構建塊。簡單來說,物理卷是 LVM 系統的邏輯單元。
物理卷可以是任何東西,原始磁碟或磁碟分區。創建和初始化物理卷是一回事。兩者都意味著您只是在為進一步的操作準備構建塊(即分區、磁碟)。這將在瞬間變得更加清晰。
實用程序:pv所有管理物理卷的實用程序都以P hysical Volume的字母開頭。例如pvcreate, pvchange,pvs等pvdisplay。
您可以使用原始未分區磁碟或分區本身來創建物理卷。
正如我之前提到的,我的虛擬機連接了三個外部驅動器,讓我們從/dev/sdc.
我們使用pvcreate命令來創建物理卷。只需將設備名稱傳遞給它即可。梁純
你應該看到這樣的東西:-
接下來我將/dev/sdd分成相等的部分。使用任何工具cfdisk,,,等parted,fdisk有很多工具可以完成這項工作。
您現在可以在一個步驟中從這兩個分區中快速創建另外兩個物理卷,同時將這兩個設備傳遞給pvcreate。
看一看:-
您可以使用三個命令來獲取可用物理卷的列表pvscan,pvs和pvdisplay。您通常不需要向這些命令傳遞任何內容。
pvscan:-
pvs:-
pvdisplay:-
正如您所看到的,除了列出物理卷之外,這些命令還為您提供了大量有關這些卷的其他信息。
pvremove您可以使用該命令刪除物理卷。就像pvcreate,只需將設備(初始化為物理卷)傳遞給pvremove命令。
為了演示,我將從/dev/sdd2列表中刪除。
輸出應與此相同:-
現在列出物理卷sudo pvs
/dev/sdd2不再在這里。
卷組是物理卷的集合。它是 LVM 中的下一個抽象級別。卷組是結合了多個原始存儲設備的存儲容量的存儲池。
實用程序:所有卷組實用程序名稱都以 開頭vg,代表卷組,例如、等。vgcreatevgsvgrename
卷組是使用該vgcreate命令創建的。的第一個參數vgcreate是您要為該卷組指定的名稱,其餘的是要支持存儲池的物理卷的列表。
例子:-
列出卷組類似於列出物理卷,您可以使用具有不同詳細級別的不同命令vgdisplay、vgscan和vgs。
我個人更喜歡vgs命令,sudo vgs
您可以使用以下命令列出連接到特定卷組的所有物理卷:-
例子:-
您還可以獲得物理卷的計數。
例子:-
擴展卷組意味著向卷組添加額外的物理卷。為此,vgextend使用該命令。語法很簡單:-
讓我們將lvm_tutorial音量擴大/dev/sdd2.
專注於輸出:-
在物理卷部分,我們最終將其/dev/sdd2作為物理卷刪除,但必須將分區或原始磁碟初始化為物理卷,否則 LVM 將無法將其作為卷組的一部分進行管理。所以在將它添加到卷組之前vgextend做好准備。/dev/sdd2
現在列出附加到此卷組的物理卷,以確保安全。
輸出:-
/dev/sdd2現在按預期在列表中。
就像擴展一個卷組意味著添加另一個物理卷一樣,減少它意味著刪除一個或多個物理卷。
我們使用vgrece命令來執行此操作。一般語法如下:-
讓我們刪除物理卷/dev/sdc和/dev/sdd1.
例子:-
再次列出物理卷。
輸出:-
那兩個物理卷不見了。
現在,為了本文的其餘部分,將這兩個物理卷添加回來。
vgremove您可以使用該命令刪除邏輯卷。
現在不要運行此命令,否則您必須重新創建卷組。如果您想對其進行測試,請在本文的最後運行它。
這是您將主要使用的內容。邏輯卷就像一個分區,但它不是位於原始磁碟之上,而是位於卷組之上。你可以,
在本節中,您將學習,
實用程序 :所有卷組實用程序名稱都以 開頭lv,代表邏輯卷。例如, ,等等, ,等等
lvcreate使用該命令創建邏輯卷。常用的語法如下所示,
在虛擬機上運行以下命令:
示例輸出:
正如我之前所說,您可以將文件系統放在邏輯卷上,也可以將其掛載到文件系統的任何位置。
/dev/ / 創建後,您可以在路徑中找到邏輯卷。例如,在我們的例子中,音量將在 /dev/lvm_tutorial/lv1 .
現在您可以像使用任何分區一樣使用它。用ext4格式化,
將它安裝在當前目錄結構中的某個位置,例如/mnt,
您可以使用命令擴展邏輯卷lvextend並使用命令減小其大小lvrece。或者,您可以使用單個命令lvresize來完成這兩項任務。
首先讓我們看看卷組中是否還有剩餘空間。
輸出:-
根據輸出,我還有一些空間,所以讓我們將卷大小增加 2GB。
請記住,邏輯卷仍安裝在/mnt.
使用以下命令調整卷大小:
一般語法是這樣的:
後面的符號 + 或 --L取決於您是嘗試增加音量還是分別減小音量。
卷大小增加後,文件系統也必須調整大小。對於 ext4,要使用的命令是resize2fs.
輸出:
減少邏輯卷是一項稍微復雜的任務,我不會在本文中討論這個問題。我將把這個卷的大小減少 1GB。
lvremove您可以使用該命令刪除邏輯卷。命令語法如下:-
在虛擬機上運行此命令:-
輸出:-
在邏輯卷、物理卷和卷組上還有許多其他操作可行,但不可能將所有這些都寫到一篇文章中。
我/dev/sde在虛擬機中為您多留了一個磁碟,使用它,練習本文中的一些命令,創建一個新的卷組,擴展一個現有的卷組,只是練習。
我希望這篇文章對你有所幫助,如果你想在以後看到更多關於這方面的內容,請在下面的評論部分告訴我。
❸ Linux文件系統和邏輯卷管理命令(二)
根據前面介紹的分區命令就可以創建分區了,不過需要注意,我們要為某些特定掛載點設置合適的分區大小。CentOS 7 (參考 Red Hat Ent erprise Linux 7 安裝手冊)至少需要為 /boot 、 / 、 /home 、 swap 這四個掛載點配置分區。下面是這四個掛載點分區大小建議:
下面是可選的掛載點分區:
為各掛載目錄創建好分區之後,就可以為其創建文件系統了。
在 Windows 環境下,格式化的操作相對簡單。通常的操作步驟是:先打開資源管理器,接著在希望被執行格式化的盤符圖標上右擊,然後選擇「格式化」,再按照提示操作即可。也可以選擇「快速格式化」,但要求分區沒有壞道。需要注意的是:對硬碟執行格式化操作時,用戶需要擁有系統管理員許可權(僅限於 Windows Vista 以及此後推出的作業系統)。在 Windows 環境中,除了可以使用圖形化的操作界面執行格式化操作之外,也可以在命令提示字元中使用 Diskpart 指令 (僅限於 Windows 2000 及以後的作業系統,包含 Windows PE)進行操作。
在 Unix/Linux 環境下,通常使用命令工具執行格式化操作。需要注意的是:對硬碟執行格式化操作時,用戶需要擁有超級用戶許可權。創建文件系統的常用命令如下:
並非所有文件系統的命令工具都已經默認安裝了。要想知道某個文件系統的命令工具是否可用,可以使用 type 命令。
每個文件系統命令都有很多命令行選項,允許你定製如何在分區上創建文件系統。要查看所有可用的命令行選項,可用 man 命令來顯示該文件系統命令的手冊頁面。所有的文件系統命令都允許通過不帶選項的簡單命令來創建一個默認的文件系統。
為分區創建了文件系統之後,下一步是將它掛載到虛擬目錄下的某個掛載點,這樣就可以將數據存儲在新文件系統中了。你可以將新文件系統通過 mount 命令掛載到虛擬目錄中需要額外空間的任何位置。
現在你可以在新分區中保存新文件和目錄了! 這種掛載文件系統的方法只能臨時掛載文件系統。當重啟 Linux 系統時,文件系統並不會自動掛載。要強制 Linux 在啟動時自動掛載新的文件系統,可以將其添加到 /etc/fstab 文件。
如果用標准分區在硬碟上創建了文件系統,為已有文件系統添加額外的空間多少是一種痛苦的體驗。你只能在同一個物理硬碟的可用空間范圍內調整分區大小。如果硬碟上沒有地方了,你就必須弄一個更大的硬碟,然後手動將已有的文件系統移動到新的硬碟上。這時候就可以通過將另外一個硬碟上的分區加入已有文件系統,動態地添加存儲空間。 Linux 邏輯卷管理器(logical volume manager, LVM)軟體包正好可以用來做這個。它可以讓你在無需重建整個文伍春好件系統的情況下,輕松地管理磁碟空間。
邏輯卷管理的核心在於如何處理安裝在系統上的硬腔鉛盤分區。在邏輯卷管理的世界裡,硬碟稱作 物理卷(physical volume, PV) 。每個物理卷都會映射到硬碟上特定的物理分區。多個物理卷集中在一起可以形成一個 卷組(volume group, VG) 。邏輯卷管理系統 將卷組視為一個物理硬碟 ,但事實上卷組可能是由分布在多個物理硬碟上的多個物理分區組成的。 卷組提供了一個創建邏輯分區的平台,而這些邏輯分區則包含了文件系統。 整個結構中的最後一層是邏輯卷(logical volume, LV) 。 邏輯卷為 Linux 提供了創建文件系統的分區環境,作用類森侍似於到目前為止我們一直在探討的 Linux 中的物理硬碟分區。Linux 系統將邏輯卷視為物理分區。 每個邏輯卷可以被格式化成某種文件系統,然後掛載到虛擬目錄中某個特定位置 。邏輯卷由 PE (physical extents,即物理區段)組成,PE 為硬碟可供指派給邏輯卷的最小單位(通常為4MB)。
注意,上圖中的第三個物理硬碟有一個未使用的分區。通過邏輯卷管理,你隨後可以輕松地將這個未使用分區分配到已有卷組:要麼用它創建一個新的邏輯卷,要麼在需要更多空間時用它來擴展已有的邏輯卷。 類似地,如果你給系統添加了一塊硬碟,邏輯卷管理系統允許你將它添加到已有卷組,為某個已有的卷組創建更多空間,或是創建一個可用來掛載的新邏輯卷。這種擴展文件系統的方法要好用得多!
優點
比起正常的硬碟分區管理,LVM 更富於彈性:
這些優點使得 LVM 對伺服器的管理非常有用,對於桌面系統管理的幫助則沒有那麼顯著,你需要根據實際情況進行取捨。
缺點
Linux LVM 是由 Heinz Mauelshagen 開發的,於 1998年 發布到了 Linux 社區。它允許你在 Linux 上用簡單的命令行命令管理一個完整的邏輯卷管理環境。 Linux LVM 有兩個可用的版本。
大部分採用 2.6 或更高內核版本的現代 Linux 發行版都提供對 LVM2 的支持。除了標準的邏輯卷管理功能外, LVM2 還提供了另外一些好用的功能。
Linux LVM 包只提供了命令行程序來創建和管理邏輯卷管理系統中所有組件。有些 Linux 發行版則包含了命令行命令對應的圖形化前端,但為了完全控制你的 LVM 環境,最好習慣直接使用這些命令。
此外,還可以使用以下命令來操作邏輯卷:
在手動增加或減小邏輯卷的大小時,要特別小心。邏輯卷中的文件系統需要手動修整來處理大小上的改變。大多數文件系統都包含了能夠重新格式化文件系統的命令行程序,比如用於 ext2、 ext3 和 ext4 文件系統的 resize2fs 程序。
第一種方法:直接增大5G,寫「+5G」
第二種方法:原來是10G,增大5G就是「15G」
動態擴容示例:
❹ linux系統設備管理器在哪
Linux系統的設備管理器通常位於/dev目錄下。/dev目錄包含了系統中所有的設備文件,這些文件用於管理系統中的硬體設備,包括磁碟驅動器、網路介面、列印機和其他設備。
您可以使用ls命令查看/dev目錄下的內容,例如:
ls /dev
這將顯示/dev目錄下的所有文件和文件夾。您也可以使用grep命令來搜索/dev目錄下的特定設備文件,例如:
ls /dev | grep sda
這將顯示/dev目錄下名稱中包含「sda」的文件,這可能是系統中的硬碟驅動器。
注意,/dev目錄中的設備文件是虛擬文件,不是真實的文件。它們是系統內核用於管理設備的介面,可以通過程序訪問和操作。
❺ Linux文件系統-LVM邏輯卷
LVM(Logical Volume Manager)卷組管理器,通過對底層物理磁碟的封裝,可以將多塊物理磁碟組合成邏輯資源池,提供給上層應用使用(如文件系統). LVM的好處是,可以跨物理硬碟為文件系統提供容量,並且可以動態進行分區容量的調整,而不會損壞原有的文件系統.
物理磁碟 :物理存儲介質,可以是整塊物理存儲或一個分區.
物理卷PV(physical volume) :LVM要使用物理磁碟,在物理磁碟的頭部寫入lvm標簽頭,就創建了一個PV,PV是組成VG的基本單元.
卷組VG(Volume Group) :VG相當於非LVM系統中的物理硬碟,一個卷組VG由一個或多個PV組成,形成一個存儲資源池.
邏輯卷LV(logical volume) :LV相當於非LVM系統中的硬碟分區,LV建立在卷組VG之上,文件系統建立在LV之上.
物理塊PE(physical Extent) :創建LV時可以分配的最小存儲單元,大小可以指定,默認為4MB
如上是從物理磁碟到lvm邏輯卷的創建過程及映射關系,lv01、lv02被創建後,通過device-mapper映射為邏輯塊設備(塊設備路徑/dev/vg01/lv01、/dev/vg01/lv02),供文件系統使用,通過mkfs.ext4 /dev/vg01/lv02可創建ext4文件系統.
元數據主要是兩部分,PV header + metadata,位置一般是在PV的0~2048 sector中,從2048 sector開始是數據區域.
通過pvcreate創建pv時,會將pv header寫入物理磁碟,位置一般是在磁碟的第二個sector(512B/sector),lvm掃描磁碟時,通過pv header來識別PV.
pv header主要信息包括,pv uuid、元數據位置和metadata位置.
pv header實例:
metadata記錄的是vg和lv的配置信息,以ASCII碼的方式寫入metadata區域;vg和lv的每次配置變更,都會以追加的方式寫入metadata區域,並打上時間戳,該區域寫滿後,新的變更記錄會覆蓋最早的一次記錄. 進行vgscan時,猜測應該是通過讀取最新一次的配置記錄,進行激活.
vg配置信息,主要是包含的pv信息.
lv配置信息,主要是lv的起始位置和PE大小.
實例:
pvcreate /dev/vdb1
pvcreate /dev/vdb2
pvcreate /dev/vdb3
vgcreate /dev/vdb1 /dev/vdb2 /dev/vdb3
vgcreate wan /dev/vdb1 /dev/vdb2 /dev/vdb3
lvcreate -L 300M -n lv01 wan
將PV的前2048個sector通過dd拷貝出來,用cat查看如下.
假設我們有一塊磁碟 /dev/sdb1 作為應用數據盤使用,以此為例創建lvm分區
先創建物理卷PV,命令: pvcreate /dev/sdb1
創建卷組VG,卷組命名為kylin,命令:vgcreate kylin /dev/sdb1
在VG中創建邏輯分區LV,命令:lvcreate -L 30G -n test kylin
創建邏輯分區後,進行格式化,然後便可以掛載使用.
mkfs.ext4 /dev/kylin/test
mount /dev/kylin/test /data
假設我們在上述基礎上,又獲得一塊磁碟/dev/sdc1進行擴容,將磁碟容量增加到LV分區/dev/kylin/test中,具體操作如下.
先創建物理卷PV,命令: pvcreate /dev/sdc1
將/dev/sdc1添加進VG kylin,命令:vgextend kylin /dev/sdc1
增加LV分區容量,命令:lvextend -L +30G /dev/kylin/test
lvm卷組配置備份
lvm的配置信息默認在/etc/lvm/backup、/etc/lvm/archive/兩個目錄存在備份,當lvm元數據損壞,lvm卷組讀取異常時,可通過備份文件進行恢復.
/etc/lvm/backup: 保留了當前配置的備份
/etc/lvm/archive/:保留了每次配置更新前的備份
實例演示
邏輯卷/dev/wan/lv01
在/dev/wan/lv01上創建文件系統
掛載並創建文件
覆蓋/dev/vdb1、/dev/vdb2的lvm元數據,並重啟系統,vg已不能識別
通過pvcreate命令修復pv header 和metadata數據.
激活邏輯卷
掛載/dev/wan/lv01成功,說明成功修復
❻ 【Linux命令】磁碟管理(邏輯卷與物理卷)
Linux和Windows都採用了MBR的磁碟管理方法,也就是先對一個硬碟進行分區,在對這個一般光碟進行格式化的方法;他們的區別是: Linux系統,是先進行磁碟分區,如果需要使用該分區,將其掛載到對應目錄即可;而Windows則是自動將所有分區掛載好 傳統的磁碟管理的缺點:不方便進行分區擴充、容易導致文件系統崩潰、不適用於作為生產環境的伺服器、拷貝分區的時候要求強制卸載磁碟分區,分區轉移時耗費的時間長;
LVM磁碟管理技術 是Linux環境下對磁碟管理的一種技術,是通過一個建立在硬碟和分區之上的邏輯層來提高磁碟分區的靈活性
物理卷(PV):就是真正的物理硬碟或物理分區
卷組(VG):是將多個物理硬碟整合到一起形成的邏輯卷組;也可以視作一塊邏輯硬碟
邏輯卷(LV):卷組是一塊邏輯硬碟,邏輯硬碟必須分區之後才能使用;邏輯卷可以視作是卷組的邏輯分區
物理擴展(PE):物理擴展是用來保存數據的最小單元
系統首先把物理硬碟合並為卷組;再通過卷組分區;將卷組(邏輯硬碟)分成邏輯分區(邏輯卷)進行使用;
把物理硬碟分成分區,也可以使用一整塊的物理硬碟;把物理硬碟分區建立為物理卷(PV)也可以把整塊物理硬碟都建立為物理卷;把剛剛劃分的物理卷合為卷組(VG)卷組就已經可以動態的調整大小了,最後把卷組劃分成邏輯卷,其中邏輯卷也是可以隨時劃分大小的
pvcreate命令在系統中一般用於創建物理卷;
語法結構
在使用這個命令的時候不要對存放Linux系統的盤符進行進行使用;我們在創建物理卷的時候都是對邏輯分區進行創建的;擴展分區(Extend)不能進行創建物理卷
pvdisplay 命令用於查看當前的分區情況
語法格式以及常用參數:
查看我們剛剛創建的物理卷
pvremove命令常用於刪除對應的物理卷
語法結構:
刪除我們剛剛創建的物理卷
vgcreate 命令的作用是將一個或多個物理卷整合成一個卷組;在創建卷組之前我們需要保證系統中有足夠的除系統存放卷本身的物理卷(使用pvscan查看)需要注意的是,存放Linux的系統物理卷不能被劃分到自定義卷組中、 常用參數:-s:設定PE(最小物理存儲單元)的大小、-l:最大邏輯卷數量、-p:允許存在的最大物理卷數量
語法結構:
將我們剛剛創建物理卷添加到卷組之中
vgdisplay 這個命令可以用來查看我們創建的卷組; 常見的參數 -s 卷組信息以短格式輸出 ;vgdisplay可以查看對應卷組的簡簡訊息,所以相對於pvdisplay用處又大了那麼一點
語法格式:
查看剛剛創建的卷組和某一個卷組的信息
同樣:vgscan 命令也可以查看當前卷組使用情況的簡簡訊息
vgremove 命令的作用是刪除指定的卷組
語法結構:
刪除我們剛剛創建的卷組
注意:當刪除含有邏輯卷的卷組的時候系統會提示是否刪除對應卷組和對應邏輯卷,只有在兩個都輸入:y之後系統才會刪除對應的卷組
lvcreate 命令作用是在一個指定的卷組中創建一塊邏輯卷,前提是要求有指定的卷組; 常用參數:-L:規定創建的邏輯卷大小(直接寫大小就可以)、-l:通過PE劃分邏輯卷的大小(後面接的數字是PE的個數)
語法結構:
在指定的卷組里創建邏輯卷
lvdisplay 命令可用於查看邏輯卷的詳細信息,也可以用來查看指定邏輯卷的詳細信息 參數:-m:查看對應邏輯卷的掛載信息
語法結構:
檢查指定的邏輯卷,並查看指定邏輯卷的掛載信息:
管理邏輯卷大小的常用命令是lvextend 命令和 lvrece 命令分別表示邏輯卷大小的擴充和減少, 其中lvextend命令表示邏輯卷大小擴充,常用參數 -L(指的是擴充的具體大小)、-l(指的是擴充的LE塊數量);lvextend命令表示邏輯卷大小的減小,常用參數-L(指的是減小的具體大小)、-l(指的是減小的LE塊數量)
語法結構:
對我們指定的兩個邏輯卷分別進行容量的增加和減少,並掛載對應的邏輯卷
❼ Linux 下磁碟管理--邏輯卷--LV
在Linux磁碟操作中,如果磁碟寫滿,那麼就需要對磁碟進行擴容。把數據寫入到更大的磁碟中,這個工作量是非常大的,而且非常容易出現錯誤,危險性很高,那麼我們就可以使用邏輯卷管理器(LVM)來對磁碟進行管理擴容。這樣就可以很輕松的,沒有危險的對數據進行移動。
我們來看看LVM比傳統硬碟管理的優點:
1.靈活性容量:允許多個磁碟或分區作為一個邏輯卷。
2.可以伸縮的存儲池:不必格式化,用命令可以直接修改邏輯卷。
3.在線數據的分配:可以在線移動數據,可以熱插拔硬碟更換磁碟。
4.設備命名方便。
5.鏡像卷:很方便的做數據鏡像。
6.卷快照:快照會把邏輯卷的全部內容保存。
那麼邏輯卷要怎麼來創建呢,我們做如下步驟:
1.在創建邏輯卷前,必須要有一塊物理磁碟做物理卷(PV)。
2.由一個或多個物理卷組成一個存儲池,我們叫他卷組(VG)。
3.根據卷組中的空閑物理空間,建立邏輯卷(LV)。
上面3步時創建邏輯卷的具體思路。下面我們具體操作:
創建邏輯卷步驟:
1.使用fdisk創建一個物理分區,t 選項設置類型為:linuxLVM
2.使用partprobe向內核注冊新的分區。
3.創建物理卷pvcreate /dev/sdb1(需要創建的硬碟分區名,根據自己伺服器查找)
4.創建卷組 vgcreate 卷組名 /dev/sdb1
5.創建邏輯卷 lvcreate -n 邏輯卷名 -L 卷組大小 卷組名
lvcreate -n abc -L 10G myvg
6.創建文件系統 mkfs.ext4 /dev/卷組名/邏輯卷名
mkfs.ext4 /dev/myvg/abc
7.創建永久掛載點(寫入文件/etc/fstab),這一步就不在贅述,可以查閱我前一文章,有詳細記載。
這樣,我們的邏輯卷就創建成功了。
那我們怎麼查看物理卷,卷組,邏輯卷呢
查看物理卷信息:pvdisplay /dev/sdb1
查看卷組信息:vgdisplay myvg
查看邏輯卷信息:lvdisplay /dev/myvg/abc
邏輯卷的擴容
如果在建立的卷組還有空間,就可以給邏輯卷擴容。那怎麼做呢。
1.lvextend -L +10G /dev/myvg/abc
給邏輯卷 abc 擴容10G。減少容量直接把 + 變為 - 即可。
2.resize2fs /dev/myvg/abc 針對ext4文件
xfs_growfs /dev/myvg/abc 針對xfs文件
使擴容生效。
如果卷組空間不夠,需先增加卷組空間,在對邏輯卷擴容。
1.准備物理磁碟 fdisk ,partprobe ,mkfs.ext4
2.創建物理卷
3.給原來的卷組增加物理卷 vgextend myvg /dev/sdc1,然後vgdiaplay
創建完成,那麼我們需要刪除邏輯卷,怎麼做呢。
1.取消掛載,同時刪除 /etc/fstab 文件下的掛載內容。
2.刪除邏輯卷 lvremove /dev/myvg/abc
3.刪除卷組 vgremove myvg
4.刪除物理卷 pvremove /dev/sdb1
步驟和創建相反。
Linux下磁碟管理的邏輯卷就總結完畢。