Linux ディスクデバイスと LVM 管理コマンドの詳細な例

Linux ディスクデバイスと LVM 管理コマンドの詳細な例

序文

Linux オペレーティング システムでは、デバイス ファイルは特別なタイプのファイルです。これらのファイルのほとんどは /dev ディレクトリにあり、Linux ホストによって検出された特定のハードウェア デバイスを表すために使用されます。

たとえば、/dev/sda ファイルは通常、システム内の最初のハードディスクを参照するために使用されます。

Linux オペレーティング システムとそのアプリケーションおよびサービスは、これらのデバイス ファイルを通じて対応するハードウェア デバイスと対話します。

ディスク (ATA、SATA、SCSI、SAS、SSD など) や USB フラッシュ ドライブなどの一般的なブロック ストレージ デバイスの場合、デバイス ファイルは主に sd* の形式で名前が付けられます。たとえば、sda は最初のハードディスクを表し、sdb2 は 2 番目のハードディスクの 2 番目のパーティションを表します。

したがって、ls -l /dev/sd* コマンドを直接使用して、システム内のディスク デバイスを表示できます。

$ ls -l /dev/sd*
brw-rw---- 1 ルートディスク 8, 0 8月 7日 00:47 /dev/sda
brw-rw---- 1 ルートディスク 8、1 8月 7日 00:47 /dev/sda1

つまり、現在のシステムに接続されているハードディスクは 1 つだけ (/dev/sda) であり、ハードディスクにはパーティションが 1 つだけ (/dev/sda1) あります。

2. パーティション

パーティショニングとは、ハードディスク全体を 1 つ以上の独立したストレージ領域に分割することと理解できます。

たとえば、システムの最初のハードディスクは、sda1、sda2、sda3 という 3 つのパーティションに分割できます。 sda1 はルート ディレクトリ (/) をマウントするために使用され、sda2 は /var をマウントするために使用され、sda3 は /home ディレクトリをマウントするために使用されます。 /var ディレクトリ内のログ ファイルが sda2 のすべてのストレージ領域を占有しても、他の 2 つのパーティションの使用には影響しません。

fdisk -l コマンドを使用して、システム内のディスクとパーティションの情報を表示できます。

$ sudo fdisk -l
ディスク /dev/sda: 10 GiB、10737418240 バイト、20971520 セクタ
ディスクモデル: VBOX HARDDISK
単位: 1セクター * 512 = 512バイト
セクターサイズ(論理/物理):512バイト/512バイト
I/O サイズ (最小/最適): 512 バイト / 512 バイト
ディスクラベルタイプ: dos
ディスク識別子: 0x20985120

デバイス ブート 開始 終了 セクター サイズ ID タイプ
/dev/sda1 2048 20964824 20962777 10G 83 Linux

ディスクパーティションの作成

fdisk コマンドは、新しいパーティションの作成、既存のパーティションの削除、パーティション テーブルの作成など、ハード ディスク上のパーティション操作を実行するためにも使用できます。

ここでは、VirtualBox ソフトウェアを使用して、仮想マシンの Linux システムに空の仮想ハードディスクを追加します。システムによって検出されたハードディスク デバイスを表示するには、fdisk -l コマンドを使用します。

$ sudo fdisk -l
ディスク /dev/sda: 10 GiB、10737418240 バイト、20971520 セクタ
ディスクモデル: VBOX HARDDISK
単位: 1セクター * 512 = 512バイト
セクターサイズ(論理/物理):512バイト/512バイト
I/O サイズ (最小/最適): 512 バイト / 512 バイト
ディスクラベルタイプ: dos
ディスク識別子: 0x20985120

デバイス ブート 開始 終了 セクター サイズ ID タイプ
/dev/sda1 2048 20964824 20962777 10G 83 Linux


ディスク /dev/sdb: 5 GiB、5368709120 バイト、10485760 セクタ
ディスクモデル: VBOX HARDDISK
単位: 1セクター * 512 = 512バイト
セクターサイズ(論理/物理):512バイト/512バイト
I/O サイズ (最小/最適): 512 バイト / 512 バイト

現時点では、システムにはパーティションを含まない新しいハードディスク /dev/sdb が存在します。

fdisk /dev/sdb コマンドを使用して、新しいハードディスクをパーティション分割します。

$ sudo fdisk /dev/sdb

fdisk (util-linux 2.33.1) へようこそ。
変更は、書き込むことを決定するまで、メモリ内にのみ残ります。
書き込みコマンドを使用する前に注意してください。

デバイスには認識可能なパーティション テーブルが含まれていません。
ディスク識別子 0xce119026 を持つ新しい DOS ディスクラベルを作成しました。

コマンド(ヘルプの場合はm):m

ヘルプ:

 DOS (MBR)
 起動可能フラグを切り替える
 b ネストされたBSDディスクラベルを編集する
 c DOS互換性フラグを切り替える

 ジェネリック
 d パーティションを削除する
 F パーティション化されていない空き領域をリストします
 l 既知のパーティションタイプを一覧表示する
 n 新しいパーティションを追加する
 p パーティションテーブルを印刷する
 パーティションタイプを変更しない
 v パーティションテーブルを確認する
 パーティションに関する情報を印刷する

 その他
 m このメニューを印刷
 u 表示/入力単位を変更する
 x 追加機能(エキスパートのみ)

 スクリプト
 sfdiskスクリプトファイルからディスクレイアウトをロードします
 O ディスクレイアウトを sfdisk スクリプトファイルにダンプする

 保存して終了
 w テーブルをディスクに書き込んで終了する
 q 変更を保存せずに終了する

 新しいラベルを作成する
 g 新しい空のGPTパーティションテーブルを作成する
 G 新しい空のSGI(IRIX)パーティションテーブルを作成する
 o 新しい空のDOSパーティションテーブルを作成する
 新しい空のSunパーティションテーブルを作成する

fdisk プログラム インターフェイスに入った後、m キーを押して Enter キーを押すと、ヘルプ情報が印刷され、このインターフェイスでサポートされている対話型コマンドが取得されます。

たとえば、現在のハードディスクのパーティション情報を出力したい場合は p を入力し、新しいパーティションを作成したい場合は n を入力し、既存のパーティションを削除したい場合は d を入力します。

パーティションに対する操作の後は、w を使用して以前のすべての変更をハードディスクに書き込む必要があります。

ここで、n を押して新しいパーティションの作成を開始します。プロンプトに従ってパーティション タイプを選択し (p はプライマリ パーティション、e は拡張パーティションを意味します)、さらにパーティション番号と最初のセクターの場所を選択し (通常はデフォルトで問題ありません)、最後に新しいパーティションの最後のセクターの場所を入力します (パーティション サイズを直接指定することもできます)。+/- セクターまたは +/- サイズの形式で入力します。 +3G と入力すると、サイズが 3 GB の新しいパーティションを作成することを意味します。具体的な手順は次のとおりです。

コマンド(ヘルプの場合はm): n
パーティションタイプ
 p プライマリ (プライマリ 0、拡張 0、フリー 4)
 e 拡張 (論理パーティションのコンテナ)
選択(デフォルトp):p
パーティション番号 (1-4、デフォルト 1):
最初のセクター (2048-10485759、デフォルト 2048):
最後のセクター、+/-セクターまたは+/-サイズ{K、M、G、T、P} (2048-10485759、デフォルト 10485759): +3G

タイプ「Linux」、サイズ 3 GiB の新しいパーティション 1 を作成しました。

コマンド(ヘルプの場合はm): n
パーティションタイプ
 p プライマリ (プライマリ 1、拡張 0、フリー 3)
 e 拡張 (論理パーティションのコンテナ)
選択(デフォルトp):p
パーティション番号 (2-4、デフォルト 2):
最初のセクター (6293504-10485759、デフォルト 6293504):
最後のセクター、+/-セクターまたは+/-サイズ{K、M、G、T、P} (6293504-10485759、デフォルト 10485759):

タイプ「Linux」、サイズ 2 GiB の新しいパーティション 2 を作成しました。

同じ手順を使用して、ディスクの残りの領域を別のパーティションに分割します。ここでパーティション情報を確認します。元々空だった 5GB の新しいハード ディスク sdb が 2 つのパーティション sdb1 と sdb2 に分割されています。

コマンド(ヘルプの場合はm):p
ディスク /dev/sdb: 5 GiB、5368709120 バイト、10485760 セクタ
ディスクモデル: VBOX HARDDISK
単位: 1セクター * 512 = 512バイト
セクターサイズ(論理/物理):512バイト/512バイト
I/O サイズ (最小/最適): 512 バイト / 512 バイト
ディスクラベルタイプ: dos
ディスク識別子: 0xce119026

デバイス ブート 開始 終了 セクター サイズ ID タイプ
/dev/sdb1 2048 6293503 6291456 3G 83 Linux
/dev/sdb2 6293504 10485759 4192256 2G 83 Linux

このとき、q キーを押して fdisk プログラムを直接終了すると、以前の操作はすべて保存されないことに注意してください。

ハードディスク上の以前の操作に問題がないことが確実な場合は、w コマンドを使用して新しいパーティション情報をディスクに書き込む必要があります。ファイルを編集するときの保存と終了と同様です。

3. ファイルシステム

ディスクなどのストレージ デバイスは、小さな図書館と見なすことができます。そこに保存されている書籍は、ハード ディスク内のデータであり、パーティションの役割は、書籍が異なるカテゴリに保存され、比較的独立した領域を形成する本棚の役割に似ています。

ただし、本棚の本はランダムに配置されているわけではありません。各本は一定の規則と順序に従って規則的に配置される必要があり、配置の具体的な場所を記録する必要がある場合もあります。これらの本の配置規則は、パーティション上のファイル システムに対応しています。

ファイル システムは、ストレージ デバイス上のスペースを整理して割り当て、ファイル アクセスを担当し、保存されたファイルを保護および取得するシステムです。オペレーティング システムの場合、ファイルの読み取りと書き込みはハード ディスクのセクターに直接影響しませんが、ファイル データはファイル システムを通じて特定のルールに従って処理および整理されます。

一般的なファイル システムには、Windows の NTFS や Linux の Ext4 などがあります。

Windows システムでは、いわゆる「パーティション」操作には、パーティションを作成し、ファイル システムを確立するプロセスが含まれます。 Linux システムでは、これらの 2 つの手順を完了するには 2 つの個別のコマンドが必要です。

mkfs.ext4 /dev/sdb1 コマンドを使用して、新しく追加されたハードディスクの最初のパーティションに Ext4 ファイル システムを作成できます。

$ sudo mkfs.ext4 /dev/sdb1
mke2fs 1.44.6 (2019年3月5日)
786432 個の 4k ブロックと 196608 個の inode を持つファイルシステムを作成しています
ファイルシステム UUID: d5e21599-12e9-44da-ae51-124d89fe5eda
ブロックに保存されるスーパーブロックのバックアップ:
 32768、98304、163840、229376、294912

グループテーブルの割り当て: 完了
inode テーブルの書き込み: 完了
ジャーナルを作成中 (16384 ブロック): 完了
スーパーブロックとファイルシステムのアカウンティング情報の書き込み: 完了

スワップパーティション

Linux システムのスワップ パーティションは、ハード ディスク上にある「メモリ デバイス」と考えることができます。 Linux は、メモリ不足などの状況を緩和するために、すぐに必要のないメモリ内のデータの一部をハードディスクのスワップ パーティションに一時的にスワップします。

私の Linux 仮想マシンは、インストール時にスワップ パーティションを割り当てませんでした。ここでは、mkswap コマンドを使用して、2G の sdb2 パーティションをスワップ領域に分割します。

$ sudo mkswap /dev/sdb2
スワップスペース バージョン 1 を設定しています。サイズ = 2 GiB (2146430976 バイト)
ラベルなし、UUID=47006330-810c-4321-8d73-d52a5f70bc88

次に、swapon コマンドを使用して、先ほど作成した swap パーティションをすぐに有効にします。

$ sudo swapon /dev/sdb2
$ 無料 -h
  使用可能な使用済み空き共有バフ/キャッシュの合計
メモリ: 983Mi 223Mi 168Mi 4.0Mi 590Mi 597Mi
スワップ: 2.0Gi 0B 2.0Gi

パーティションマウント

Windows では、パーティション化されたハード ディスクまたは USB ドライブを挿入すると、追加されたパーティションにドライブ文字 (D:、E:、F: など) が自動的に割り当てられます。その後、ドライブ文字を使用して、新しいパーティションで直接ファイルを読み書きできます。

Linux システムにはドライブ文字の概念はありません。ファイル階層は、ルート ディレクトリ (/) から始まり、下方向に伸びるツリー構造 (ディレクトリ) です。各ブランチは、特定のファイルを指す特定のパスです。たとえば、/usr、/root、/var、/var/log などです。

ディレクトリは、ハードウェア ストレージ デバイスから独立した抽象的な論理構造であり、ファイル システム階層内の特定の場所を指定するために使用されます。ディスク パーティションとディレクトリ構造の対応は、マウントを通じて指定する必要があります。

通常、システムをインストールするときに、sda1 パーティションをルート ディレクトリにマウントすると、このディレクトリ内のすべてのファイルが sda1 に保存されます。後で新しいデータ ディスク sdb が追加された場合、ハード ディスクには sdb1 という 1 つのパーティションのみが含まれます。 sdb1 パーティションにいくつかのファイルを保存するには、ディレクトリ ツリーに新しい空のブランチ (/mnt/data など) を作成し、このブランチの下に sdb1 をマウントします。その後、/mnt/data ディレクトリの下に作成されたサブディレクトリとファイルはすべて sdb1 に保存されます。

具体的なコマンドは以下のとおりです。

$ sudo mkdir -p /mnt/data
$ sudo マウント /dev/sdb1 /mnt/data

df -h コマンドを使用して、ファイル システムが占有する特定のディスク領域を表示します。

$ df -h
ファイルシステムサイズ 使用済み 使用可能使用率 マウント先
udev 456M 0 456M 0% /dev
tmpfs 99M 1.1M 98M 2% /実行
/dev/sda1 9.8G 5.2G 4.2G 56% /
tmpfs 492M 0 492M 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /実行/ロック
tmpfs 492M 0 492M 0% /sys/fs/cgroup
tmpfs 99M 0 99M 0% /run/user/117
tmpfs 99M 0 99M 0% /run/user/1000
/dev/sdb1 2.9G 9.0M 2.8G 1% /mnt/データ

新しく追加されたパーティション /dev/sdb1 が /mnt/data ディレクトリにマウントされていることがわかります。

あるいは、lsblk コマンドを使用して、ブロック ストレージ デバイス (ディスクやパーティションなど) の容量とマウント ポイントを表示することもできます。

$ lsblk
名前 MAJ:MIN RM サイズ RO タイプ マウントポイント
sda 8:0 0 10G 0 ディスク
└─sda1 8:1 0 10G 0 パート /
sdb 8:16 0 5G 0 ディスク
├─sdb1 8:17 0 3G 0 パート /mnt/data
└─sdb2 8:18 0 2G 0 パート[SWAP]
sr0 11:0 1 1024M 0 rom

手動でマウントされたパーティションは、システムの再起動後に自動的にアンマウントされることに注意してください。ルート ディレクトリと同様に、システムの起動時に毎回パーティションを自動的にマウントしたい場合は、/etc/fstab 構成ファイルを変更できます。サンプルの内容は次のとおりです。

# <ファイルシステム> <マウントポイント> <タイプ> <オプション> <ダンプ> <パス>
UUID=f3435713-b2cd-4196-b07b-2ffb116a028d / ext4 デフォルト 0 1
/dev/sdb1 /mnt/data ext4 デフォルト 0 1
/dev/sdb2 なし スワップ sw 0 0

PS: /dev/sda1 と比較すると、UUID を使用してパーティションをマウントする方が安全な場合がよくあります。blkid コマンドを使用して、ディスク パーティションの UUID を表示できます。

$ sudo blkid
/dev/sda1: UUID="f3435713-b2cd-4196-b07b-2ffb116a028d" タイプ="ext4" PARTUUID="20985120-01"
/dev/sdb1: UUID="d5e21599-12e9-44da-ae51-124d89fe5eda" タイプ="ext4" PARTUUID="ce119026-01"
/dev/sdb2: UUID="47006330-810c-4321-8d73-d52a5f70bc88" タイプ="スワップ" PARTUUID="ce119026-02"

4. LVM (論理ボリューム管理)

論理ボリューム管理 (LVM) を含まないディスク パーティション スキームの場合、パーティションの場所、サイズ、および数は一般に固定されているため、現在のパーティションの拡張や新しいパーティションの追加などの操作が困難になります。

このとき、ハードディスクやパーティションを追加すると、ディレクトリツリーにマウントポイントとして新しいブランチを作成する必要があり、ファイルデータが複数の複雑な場所に分散されるため、データのマージ、バックアップ、管理に不便が生じます。

LVM を使用すると、単一または複数のパーティションを論理ボリューム グループに結合することができ、そこに含まれる論理ボリュームを動的に追加、サイズ変更、または削除できます。

LVM システムの最も低いレベルは、ディスク、パーティション、および RAID アレイである物理ボリューム (pv) です。物理ボリュームを使用して論理ボリューム グループ (vg) を作成できます。論理ボリューム グループには任意の数の論理ボリューム (lv) を含めることができます。論理ボリュームは機能的には物理ディスク上のパーティションに対応します。

ボリュームグループと論理ボリュームの作成

pvcreate コマンドを使用して、ストレージ デバイス (ディスクやパーティションなど) を物理ボリュームとしてマークできます。

ここで、VirtualBox を介して 5G の別の空の仮想ハードディスクを追加し、システムはデバイスを /dev/sdc として検出しました。

$ lsblk
名前 MAJ:MIN RM サイズ RO タイプ マウントポイント
sda 8:0 0 10G 0 ディスク
└─sda1 8:1 0 10G 0 パート /
sdb 8:16 0 5G 0 ディスク
├─sdb1 8:17 0 3G 0 パート /mnt/data
└─sdb2 8:18 0 2G 0 パート[SWAP]
sdc 8:32 0 5G 0 ディスク
sr0 11:0 1 1024M 0 rom

物理ボリュームを作成します。

$ sudo pvcreate /dev/sdc
 物理ボリューム「/dev/sdc」が正常に作成されました。

pvs コマンドを使用してすべての物理ボリュームを一覧表示します。

$ sudo pvs
 PV VG 容量 属性 Pサイズ P空き容量
 /dev/sdc lvm2 --- 5.00g 5.00g

vgcreate コマンドを使用して、物理ボリュームに基づいて論理ボリューム グループを作成します。

$ sudo vgcreate データボリューム /dev/sdc
 ボリューム グループ「data-volume」が正常に作成されました

vgs コマンドを使用して、現在のすべての論理ボリューム グループを一覧表示します。

$ sudo vgs
 VG #PV #LV #SN 属性 Vサイズ Vフリー
 データ量 1 0 0 wz--n- <5.00g <5.00g

lvcreate コマンドを使用して、ボリューム グループに論理ボリュームを作成します。

$ sudo lvcreate --name data --size 2G データボリューム
 論理ボリューム「データ」が作成されました。

論理ボリュームには、/dev/mapper/<vgname>-<lvname> または /dev/<vgname>/<lvname> 形式のパスを介してアクセスできます。たとえば、作成したばかりのデータ論理ボリュームは、/dev/data-volume/data で指定できます。

論理ボリューム上に Ext4 ファイル システムを作成します。

$ sudo mkfs.ext4 /dev/データボリューム/データ
mke2fs 1.44.6 (2019年3月5日)
524288 個の 4k ブロックと 131072 個の inode を持つファイルシステムを作成しています
ファイルシステム UUID: 0f24cdd8-62e0-42fd-bc38-aa3bce91e099
ブロックに保存されるスーパーブロックのバックアップ:
 32768、98304、163840、229376、294912

グループテーブルの割り当て: 完了
inode テーブルの書き込み: 完了
ジャーナルを作成中 (16384 ブロック): 完了
スーパーブロックとファイルシステムのアカウンティング情報の書き込み: 完了

この時点で、論理ボリュームはディレクトリ ブランチにマウントされ、通常の物理パーティションのように正常に使用できるようになります。

ボリュームグループと論理ボリュームの操作

lvextend コマンドを使用して、論理ボリュームのストレージ領域を動的に拡張できます。

$ sudo lvextend --size +2G --resizefs /dev/data-volume/data
util-linux 2.33.1 からの fsck
/dev/mapper/data--volume-data: クリーン、11/131072 ファイル、26156/524288 ブロック
 論理ボリュームデータのサイズ(ボリューム/データ)が 2.00 GiB(512 エクステント)から 4.00 GiB(1024 エクステント)に変更されました。
 論理ボリューム data-volume/data のサイズが正常に変更されました。
resize2fs 1.44.6 (2019年3月5日)
/dev/mapper/data--volume-data 上のファイルシステムのサイズを 1048576 (4k) ブロックに変更します。
/dev/mapper/data--volume-data 上のファイルシステムの長さは現在 1048576 (4k) ブロックです。

このうち、--size +2G は 2G のスペースの増加を指定するために使用され、--resizefs は論理ボリュームのサイズを拡張しながらファイルシステムのサイズも拡張することを指定します (デフォルトでは論理ボリュームのスペースが変更されてもファイルシステムは自動的に拡張されません)。

または、次のように拡張サイズを直接指定することもできます。

$ sudo lvextend --size 4G --resizefs /dev/data-volume/data

その他のよく使用されるコマンドには、lvresize コマンドを使用して論理ボリュームを拡張し、現在のボリューム グループ内の残りのスペースをすべて占有するコマンドがあります。

$ sudo lvresize -l +100%free /dev/data-volume/data
 論理ボリュームデータのサイズ(ボリューム/データ)が、<3.00 GiB(767 エクステント)から <5.00 GiB(1279 エクステント)に変更されました。
 論理ボリューム data-volume/data のサイズが正常に変更されました。

上記のコマンドには --resizefs または -r オプションが含まれていないため、ファイルシステムは論理ボリュームとともに自動的に拡張されません。 resize2fs コマンドを使用して、ファイルシステムを手動で拡張できます。

$ sudo resize2fs /dev/データボリューム/データ

しばらくすると、論理ボリューム /dev/data-volume/data のスペースがデータでいっぱいになりそうです。別のハードディスク sdd を追加してみることができます。

$ lsblk
名前 MAJ:MIN RM サイズ RO タイプ マウントポイント
sda 8:0 0 10G 0 ディスク
└─sda1 8:1 0 10G 0 パート /
sdb 8:16 0 5G 0 ディスク
├─sdb1 8:17 0 3G 0 パート /mnt/data
└─sdb2 8:18 0 2G 0 パート[SWAP]
sdc 8:32 0 5G 0 ディスク
└─データ--ボリュームデータ 253:0 0 5G 0 lvm
sdd 8:48 0 5G 0 ディスク
sr0 11:0 1 1024M 0 rom

物理ボリュームを作成するには、pvcreate コマンドを使用します。

$ sudo pvs
 PV VG 容量 属性 Pサイズ P空き容量
 /dev/sdc データボリューム lvm2 a-- <5.00g 0
 /dev/sdd lvm2 --- 5.00g 5.00g

vgextend コマンドを使用して、以前に作成したボリューム グループ data-volume に物理ボリュームを追加します。

$ sudo vgextend データボリューム /dev/sdd
 ボリューム グループ「data-volume」が正常に拡張されました
$ sudo vgs
 VG #PV #LV #SN 属性 Vサイズ Vフリー
 データ量 2 1 0 wz--n- 9.99g <5.00g

この時点で、データボリューム ボリューム グループには、2 つの物理ボリューム (/dev/sdc と /dev/sdd) と 1 つの論理ボリューム (/dev/data-volume/data) が含まれています。合計サイズは 10G になり、空き領域は 5G (つまり、追加されたばかりの物理ボリューム) になります。

最後に、lvresize コマンドを使用して論理ボリュームのサイズを拡張し、2 つの物理ボリュームのストレージ領域全体を占有するようにします。

$ sudo lvresize -l +100%free -r /dev/data-volume/data
util-linux 2.33.1 からの fsck
/dev/mapper/data--volume-data: クリーン、11/196608 ファイル、30268/785408 ブロック
 論理ボリュームデータのサイズ(ボリューム/データ)が、<5.00 GiB(1279 エクステント)から 9.99 GiB(2558 エクステント)に変更されました。
 論理ボリューム data-volume/data のサイズが正常に変更されました。
resize2fs 1.44.6 (2019年3月5日)
/dev/mapper/data--volume-data 上のファイルシステムのサイズを 2619392 (4k) ブロックに変更します。
/dev/mapper/data--volume-data 上のファイルシステムの長さは現在 2619392 (4k) ブロックです。

このとき、論理ボリューム /dev/data-volume/data のサイズは 10G に拡張され、ボリューム グループ全体のデータ ボリューム (2 つの 5G 物理ボリュームを含む) のすべてのスペースを占有します。

概要: LVM ボリューム グループ (vg) は物理ディスクのように動作し、論理ボリューム (lv) を運ぶために使用されます。ボリューム グループは複数の物理ボリューム (ディスクやパーティションなど) で構成でき、スペースが不足している場合はいつでも新しい物理ボリュームを追加して拡張できます。

ボリューム グループ上の論理ボリューム (lv) はディスク パーティションに似ており、ストレージ スペースとしてディレクトリにマウントできます。ただし、物理パーティションの場所とサイズは固定されていますが、論理ボリュームはボリューム グループに基づいて動的にサイズを変更でき、複数の物理ディスクとパーティションにまたがることもできるため、管理がより便利で柔軟になります。

一般的な LVM コマンドのリスト:

指示用途
作成するLVMで使用するためのデバイスのラベル付け
削除物理ボリュームからLVMラベルを削除する
pvディスプレイ / pvs指定されたデバイスまたはシステム上のすべての物理ボリュームの情報を表示する
vgcreate新しいボリュームグループの作成
vgreve削除ボリュームグループの削除
vgextendボリュームグループに物理ボリュームを追加する
vgreduceボリュームグループから物理ボリュームを削除する
vgディスプレイ/vgs指定されたグループまたはシステム上のすべてのボリューム グループに関する情報を表示します。
lvcreate新しい論理ボリュームの作成
削除論理ボリュームの削除
lvextend論理ボリュームのサイズを増やす
lvreduce論理ボリュームのサイズを縮小する
lvディスプレイ/lvsシステム上または指定されたボリュームグループ内のすべての論理ボリュームを表示する

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。

以下もご興味があるかもしれません:
  • Linux の Centos7 における LVM ディスク拡張の問題
  • Linux ディスク管理 LVM の使用
  • LinuxベースのLVMシームレスディスク水平拡張の詳細な説明
  • LinuxでLVMディスクを拡張する詳細な手順

<<:  Vueオプションの詳細な説明

>>:  WAMPにインストールするとMySQLが起動できるが、再起動後に起動できなくなる問題の解決方法

推薦する

MySQL のデフォルトのストレージ エンジンを変更する方法

mysql ストレージ エンジン: MySQL サーバーはモジュール スタイルを採用しており、特にス...

プログレッシブ ウェブ アプリ (PWA) の開発方法

目次概要必要とするアプリURL PWA にはどのような技術コンポーネントが必要ですか?マニフェストフ...

WeChatアプレットのスクロールビューの改行問題を解決する

今日、小さなプログラムを書いていたときに、スクロールビューを使用したのですが、スクロールビュー内のテ...

nginxを使用して取得したIPアドレスが127.0.0.1である問題を解決する

IPツールを取得 lombok.extern.slf4j.Slf4j をインポートします。 org....

Alibaba Cloud に Docker をインストールする際の問題と解決策

質問Alibaba Cloud イメージを使用して Docker をインストールすると、次の図に示す...

HTML テーブルタグチュートリアル (11): 水平方向の配置属性 ALIGN

水平方向では、テーブルの配置を左、中央、右に設定できます。基本的な構文<テーブル配置=&quo...

Node.jsミドルウェアの仕組みの詳細な説明

目次Express ミドルウェアとは何ですか? Expressミドルウェアを作成するための要件Exp...

Linux での感嘆符コマンド (!) の使用の概要

序文最近、弊社では mbp の設定をしており、ssh を使うことが多くなりました。複雑なコマンドを書...

Alibaba CloudがCloud Shieldから無料のSSL証明書(https)を申請

プロジェクトでは https サービスを使用する必要があるため、Alibaba Cloud では無料...

CentOS 8.4 での Docker パッケージのオフラインインストールの問題について

使用する仮想マシンは、サーバー環境をシミュレートする CentOS 8.4 です。外部ネットワークに...

Web プロジェクト開発における 2 つのトークン理由とサンプル コードの分析

目次質問:プロジェクトには 2 つのトークンがあり、1 つは有効期間が 2 時間 (ショート トーク...

ソースコード分析からTomcatがサーブレットの初期化を呼び出す方法の詳細な説明

目次導入1. Tomcatを起動するコード2. Tomcatフレームワーク3. コンテナを作成する ...

React Native JSIはRNとネイティブ通信のサンプルコードを実装します

目次JSIとはJSIの違いiOS で JSI を使用するiOS 設定RN側の構成jsはパラメータ付き...

Vue+ElementUI はページング関数を実装します - mysql データ

目次1. 問題2. 解決策2.1 ページングコンポーネント2.2 データベースデータを取得する関数:...

vue3とvue2の利点の比較

目次利点1: diffアルゴリズムの最適化利点2: ホイスト静的静的リフティング利点3: cache...