ホームページ  >  記事  >  運用・保守  >  Linuxのディスク管理でLVMディスク操作コマンドを使用する方法

Linuxのディスク管理でLVMディスク操作コマンドを使用する方法

WBOY
WBOY転載
2023-05-23 13:58:453416ブラウズ

LVM (Logical Volume Manger) は、Linux カーネルによって提供される論理ボリューム管理機能です。カーネル ドライバーとアプリケーション層ツールで構成されます。ハードディスク パーティションに基づいて論理層を作成します。これは非常に柔軟で、ストレージデバイスの管理が非常に便利です。

LVM は、Linux カーネルのデバイス マッパー機能を使用して、ストレージ システムの仮想化を実装します (システム パーティションは基盤となるハードウェアから独立しています)。 LVM を使用すると、ストレージ領域を抽象化し、その上に仮想パーティションを作成できます。パーティションをより簡単に拡張および縮小できます。パーティションを追加または削除するときに、特定のハードディスク上に十分な連続領域がないことを心配する必要はありません。ディスクを再パーティション化する手間や、パーティションを調整するために他のパーティションを移動する煩わしさがなくなり、従来のパーティション分割システムよりも柔軟にディスクを管理できます。

1. LVM の基本コンポーネント

1. 物理ボリューム (PV、Physical Volume)

LVM を格納できるブロックデバイス。ハードディスク パーティション (MBR など)または GPT パーティション)、SAN ハードディスク、RAID または LUN、ループバック ファイル、カーネル マップされたデバイス(dm-crypt など)。特別な LVM ヘッダー(LVM によって構築される実際のハードウェアまたはストレージ システム)が含まれます。

2. ボリューム グループ (VG、ボリューム グループ)

ボリューム グループは 1 つ以上の物理ボリュームの集合であり、デバイス ファイル システムでは /dev/VG_NAME として表示されます。

3. 論理ボリューム (LV、論理ボリューム)

論理ボリュームは、システムで使用できる最終的なメタデバイスであり、ボリューム グループで作成および管理され、物理ボリュームで構成されます。実際には、これは仮想パーティションであり、/dev/VG_NAME/LV_NAME として表示され、通常はそこにファイル システムを作成できます。

4. 物理ブロック (PE、物理拡張)

論理ボリュームが複数の物理ブロックを割り当てる必要がある場合、それらはボリューム グループ内の最小の連続領域になります (デフォルトは 4 MiB )。 。これは、論理ボリュームに割り当てることができる物理ボリュームの一部と考えることができます。

以下に、Linux ディスク管理における lvm の場所を図で示します:

Linuxのディスク管理でLVMディスク操作コマンドを使用する方法

# 順序は、ディスク -> パーティション -> PV - > ; VG -> LV -> fs、つまり、ディスク -> パーティション -> 物理ボリューム -> ボリューム グループ -> 論理ボリューム -> ファイル システム。

後で詳しく紹介しますが、作成もこの順番になります。

2. LVM の長所と短所

1. 利点

従来のハードディスク パーティション管理方法と比較して、LVM はより柔軟です:

  • 複数のハードディスクを 1 つの大きなハードディスクとして扱う

  • ##論理ボリューム (LV) を使用すると、多数のハードディスク領域にまたがるパーティションを作成できます。

  • 小さな論理ボリューム (LV) を作成し、スペースが不足している場合にそのサイズを動的に調整できます。

  • 論理ボリューム (LV) のサイズを調整する場合、ハードディスク上の論理ボリュームの位置を考慮する必要はなく、心配する必要はありません。利用可能な連続スペースがありません。

  • 論理ボリュームやボリューム グループの作成、削除、サイズ変更などの操作をオンラインで実行できます。 LVM 上のファイル システムの場合、サイズ変更が必要ですが、一部のファイル システム (ext4 など) はオンライン操作をサポートしています。

  • サービスを再起動せずに、サービスで使用されている論理ボリューム (LV) をオンライン/ライブで別のハードディスクに移行できます。

  • スナップショットの作成を許可します。これにより、サービスのダウンタイムを最小限に抑えながらファイル システムのバックアップを保存できます。

  • 透過的なファイル システム暗号化や頻繁に使用されるデータのキャッシュなど、さまざまなデバイス マッパー ターゲットをサポートします。これにより、LUKS で暗号化された 1 つ以上のディスクを含むシステムを作成し、その上で LVM を使用して、これらの独立した暗号化ボリューム (/、/home、/backup など) を簡単に管理および調整することができます。キーを複数回入力します。

2. 欠点

  • システムのセットアップ中に、より複雑な追加手順が必要になります。

  • Windows システムは LVM をサポートしていません。デュアル システムを使用する場合、Windows 上の LVM パーティションにアクセスできません。

3. LVM の使用

1. パーティションの作成

lvm を設定する前に、ストレージ デバイスをパーティション分割する必要があります。Use fdisk を使用できます。パーティションを作成するときは、パーティション タイプの設定に注意してください (タイプは linux lvm):

  • MBR を使用している場合は、パーティション タイプを 8e に設定します。

  • GPT を使用している場合は、パーティション タイプを E6D6D379-F507-44C2-A23C-238F2A3DF928 に設定します。

#新しいディスク /dev/sdb を仮想マシンに追加しました。8G パーティションを作成しましょう:

Linuxのディスク管理でLVMディスク操作コマンドを使用する方法

Linuxのディスク管理でLVMディスク操作コマンドを使用する方法##同様に、別の 10G Linux LVM タイプのパーティションを作成します:

Linuxのディスク管理でLVMディスク操作コマンドを使用する方法

2、物理磁碟區(PV)相關運算

①、透過lvmdiskscan指令列出可被用作pv的裝置

Linuxのディスク管理でLVMディスク操作コマンドを使用する方法

 附註:如果系統開機程式不支援LVM,則/boot不能放在LVM中。此刻必須創建一個獨立的/boot分割區並直接格式化後掛載到/boot。已知支援LVM的引導程式只有GRUB。

從上圖可以看到//dev/sda2已經是PV了,所以只有dev/sda1、/dev/sdb1、/dev/sdb2可以用來建立PV,又因為/dev/sda1是boot引導區,所以下面我們可以對/dev/sdb1、/dev/sdb2建立PV

②、使用pvcreate指令建立pv
root# pvcreate device1 device2 ...

Linuxのディスク管理でLVMディスク操作コマンドを使用する方法

#③ 、查看目前所有PV資訊

可以透過pvs、pvscan、pvdisplay這三個指令查看pv資訊 

Linuxのディスク管理でLVMディスク操作コマンドを使用する方法

## 

注意: 如果你用的是未格式化過且擦除區塊(erase block)大小小於1M的SSD,請採用以下指令pvcreate --dataalignment 1m /dev/sda#來設定對齊(alignment) 。

3、卷組(VG)相關操作

①、建立卷宗組
使用指令vgcreate建立卷冊組

root# vgcreate vg_name pv1 pv2 ...

Linuxのディスク管理でLVMディスク操作コマンドを使用する方法

Linuxのディスク管理でLVMディスク操作コマンドを使用する方法

Linuxのディスク管理でLVMディスク操作コマンドを使用する方法

 建立卷宗組vg_fedora_yg,並把pv /dev/sdb1加入該卷組。

②、查看卷組資訊

Linuxのディスク管理でLVMディスク操作コマンドを使用する方法 此時,也可以透過pvs查看各個實體磁碟區所在的捲組:

4、邏輯磁碟區(LV)相關操作

①、建立LV

Linuxのディスク管理でLVMディスク操作コマンドを使用する方法使用lvcreate指令

root# lvcreate -L <lv_size>  <vg_name> -n <lv_name>
 
# 将卷组vg_name下所有剩余空间给创建的lv_name逻辑卷
root# lvcreate -l +100%FREE  <vg_name> -n <lv_name>
root# lvcreate -L <lv_size> <vg_name> -n <lv_name>

該邏輯卷創建完後,你就可以透過

/dev/mapper/vg_fedora_yg-lv_yg01Linuxのディスク管理でLVMディスク操作コマンドを使用する方法

/dev/vg_fedora_yg/lv_yg01

Linuxのディスク管理でLVMディスク操作コマンドを使用する方法

#②、查看lv

## 指令lvs、lvscan、lvdisplay檢視

③、擴容邏輯磁碟區

透過指令lvextend:

root# lvextend -L <extend_size> <lv_path>

Linuxのディスク管理でLVMディスク操作コマンドを使用する方法

注意:如果擴容的邏輯磁碟區已經掛載到特定檔案系統,則需要執行resize2fs或xfs_growfs(針對xfs文件系統)指令使修改生效,
可以透過df -Th或blkid查看lv所掛載的檔案系統類型。

5、格式化並掛載LV(邏輯磁碟區)

Linuxのディスク管理でLVMディスク操作コマンドを使用する方法上面邏輯磁碟區LV建立之後,通常是已經可以在/dev/mapper/或/dev/vg_name/下面找到該邏輯捲了,如果找不到的話,可以執行如下指令:

# modprobe dm-mod
# vgscan
# vgchange -ay
最後,可以看到如下:

Linuxのディスク管理でLVMディスク操作コマンドを使用する方法

##①、格式化邏輯卷

現在可以在該邏輯磁碟區上建立檔案系統:

# mkfs.<filesystem_type> /dev/mapper/<vg_name>-<lv_name>
 
# 
# mkfs.xfs /dev/mapper/vg_fedora_yg-lv_yg01
#②、掛載

# mount /dev/mapper/<vg_name>-<lv_name> <mount_point>

Linuxのディスク管理でLVMディスク操作コマンドを使用する方法

###################################### ### 註:掛載點請選擇你所新建的邏輯磁碟區(例如:###/dev/mapper/vg_fedora_yg-lv_yg01###),###不要###使用邏輯磁碟區所在的實際分割設備(即不要使用:###/dev/sdb1###)###### 最後,我畫了一張圖,來展示linux lvm:############## #你可以對照上面內容,理解下linux lvm的磁碟管理機制。 #########說明:###

①、圖中/dev/sda1是boot引導區,不能用lvm管理,所以直接格式化後掛載到目錄/boot下,另外/dev/sdb2也是沒有經過lvm直接格式化後掛載到目錄的。

②、卷組vg_fedora1容量為139G,從其中分配出去了40 5 45=90G,還有49G空閒,這些空閒容量可以lvextend到下面的lv中;也可以再創建個lv,分配出去。

③、磁碟設定/dev/sdc還有50G空閒空間未分割區,可以分割後使用。

以上がLinuxのディスク管理でLVMディスク操作コマンドを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。