Linux ディスク管理 LVM の使用

Linux ディスク管理 LVM の使用

1. LVM の概要

Linux ディスクを管理するときに、このような状況に遭遇することがよくあります。当初 Linux ディスクを計画したとき、パーティションに一定量のディスク領域を割り当てました。しばらく使用した後、計画したディスク領域が不足していることがわかりました。このとき、どうすればよいでしょうか?容量を拡張する方法を見つける必要があります。ディスク パーティションを見つけてフォーマットし、マウントし、新しく追加されたディスクにデータをコピーしてから、元のディスクをアンインストールします。これが通常の方法です。これで容量拡張の目的は達成できますが、時間がかかり、手間がかかります。2 回目の拡張後もスペースが不足している場合は、上記の手順を繰り返す必要があります。割り当てられたディスク スペースが大きすぎる場合は、それほど多くのスペースが必要ないことが分かるまでに長い時間がかかります。このとき、再度調整する必要がありますか? 非常に面倒に聞こえます。このとき、マウントできるディスクがあるかどうか疑問に思うはずです。いくつかの管理方法を使用して、オンラインでディスク容量を調整できます。これにより、時間を節約し、柔軟なディスク管理が可能になります。はい、lvm にはそのような機能があります。

LVM (論理ボリューム マネージャー) は、ファイル システムの容量を柔軟に管理できる論理ボリューム管理システムです。LVM の動作原理は、1 つ以上の基礎ブロック デバイスを論理デバイスに編成することです。将来、この論理デバイスに他のパーティションを追加または削除できるため、柔軟なディスク管理が実現します。

PV: 物理ボリューム。物理ボリュームとは、ハードディスクのパーティション、または論理的にディスクパーティションと同じ機能を持つデバイス (RAID など) を指します。LVM の基本的なストレージ ロジック ブロックですが、基本的な物理ストレージ メディア (パーティション、ディスクなど) と比較すると、LVM に関連する管理パラメータが含まれています。

VG: ボリューム グループ (ボリューム グループ) LVM ボリューム グループは、特に物理ボリュームの構成において、非 LVM システムの物理ハード ディスクに似ています。ボリューム グループには、1 つ以上の LVM パーティション (論理ボリューム) を作成できます。LVM ボリューム グループは、1 つ以上の物理ボリュームで構成されます。

LV: 論理ボリューム (論理ボリューム) LVM の論理ボリュームは、非 LVM システムのハードディスク パーティションに似ています。論理ボリューム上にファイル システムを作成できます。

LVM は、断片化されたディスク パーティション (PV) を 1 つの大きなディスク (VG) にマージし、必要に応じてその大きなディスク (VG) を異なるサイズのパーティション (LV) に分割します。これらの小さなパーティション (LV) は、動的に拡張および縮小できます。これが、LVM の論理ボリューム管理プロセスです。いわゆるLVM大容量ディスクは、多数のPVを統合したVGです。では、この大容量ディスクの最大容量はどれくらいでしょうか?ファイルシステムのデータストレージの最小単位はブロックであることはわかっていますが、LVM のデータストレージの最小単位は PE です。PE の役割はブロックの役割と同じです。LVM で使用されるデフォルトの PE サイズは 4M であり、LVM の VG には最大 65534 個の PE を含めることができることに注意してください。つまり、デフォルトの LVM VG には 4×65534M/1024M=256G があり、PE のサイズによって VG の最大容量が決まります。もちろん、VG を作成するときに PE サイズを指定して、VG のサイズを決定することもできます。

2. LVMの実装

1) PVをシミュレートするために複数のハードディスクまたはパーティションを準備する

[root@test-centos7-node1 ~]# lsblk
名前 MAJ:MIN RM サイズ RO タイプ マウントポイント
sda 8:0 0 50G 0 ディスク 
├─sda1 8:1 0 2G 0 パーツ /ブート
├─sda2 8:2 0 2G 0 パート[SWAP]
└─sda3 8:3 0 46G 0 パート /
sdb 8:16 0 50G 0 ディスク 
sr0 11:0 1 792M 0 rom 
[root@test-centos7-node1 ~]# fdisk /dev/sdb
fdisk (util-linux 2.23.2) へようこそ。

変更は、書き込むことを決定するまで、メモリ内にのみ残ります。
書き込みコマンドを使用する前に注意してください。

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

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

ディスク /dev/sdb: 53.7 GB、53687091200 バイト、104857600 セクタ
単位 = 1 セクター * 512 = 512 バイト
セクターサイズ(論理/物理):512バイト/512バイト
I/O サイズ (最小/最適): 512 バイト / 512 バイト
ディスクラベルタイプ: dos
ディスク識別子: 0x6180123f

  デバイス ブート 開始 終了 ブロック ID システム

コマンド(ヘルプの場合はm): n
パーティションタイプ:
  p プライマリ (プライマリ 0、拡張 0、フリー 4)
  拡張
選択(デフォルトp):p
パーティション番号 (1-4、デフォルト 1): 
最初のセクター (2048-104857599、デフォルト 2048): 
デフォルト値2048を使用
最後のセクター、+セクターまたは+サイズ{K,M,G} (2048-104857599、デフォルト 104857599): +10G
タイプLinux、サイズ10GiBのパーティション1が設定されています

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

ディスク /dev/sdb: 53.7 GB、53687091200 バイト、104857600 セクタ
単位 = 1 セクター * 512 = 512 バイト
セクターサイズ(論理/物理):512バイト/512バイト
I/O サイズ (最小/最適): 512 バイト / 512 バイト
ディスクラベルタイプ: dos
ディスク識別子: 0x6180123f

  デバイス ブート 開始 終了 ブロック ID システム
/dev/sdb1 2048 20973567 10485760 83 Linux

コマンド(ヘルプの場合はm):t
選択されたパーティション 1
16進コード(すべてのコードを表示するにはLと入力してください): 8e
パーティションのタイプを「Linux」から「Linux LVM」に変更しました

コマンド(ヘルプの場合はm): n
パーティションタイプ:
  p プライマリ (プライマリ 1、拡張 0、フリー 3)
  拡張
選択(デフォルトp):p
パーティション番号 (2-4、デフォルト 2): 
最初のセクター (20973568-104857599、デフォルト 20973568): 
デフォルト値 20973568 を使用
最後のセクター、+セクターまたは+サイズ{K,M,G} (20973568-104857599、デフォルト 104857599): +10G
タイプLinux、サイズ10GiBのパーティション2が設定されています

コマンド(ヘルプの場合はm):t
パーティション番号 (1,2、デフォルト 2): 
16進コード(すべてのコードを表示するにはLと入力してください): 8e
パーティションのタイプを「Linux」から「Linux LVM」に変更しました

コマンド(ヘルプの場合はm): n
パーティションタイプ:
  p プライマリ (プライマリ 2、拡張 0、フリー 2)
  拡張
選択(デフォルトp):p
パーティション番号 (3,4、デフォルト 3): 
最初のセクター (41945088-104857599、デフォルト 41945088): 
デフォルト値 41945088 を使用
最後のセクター、+セクターまたは+サイズ{K,M,G} (41945088-104857599、デフォルト 104857599): +10G
タイプLinux、サイズ10GiBのパーティション3が設定されています

コマンド(ヘルプの場合はm):t
パーティション番号 (1-3、デフォルト 3): 
16進コード(すべてのコードを表示するにはLと入力してください): 8e 
パーティションのタイプを「Linux」から「Linux LVM」に変更しました

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

ディスク /dev/sdb: 53.7 GB、53687091200 バイト、104857600 セクタ
単位 = 1 セクター * 512 = 512 バイト
セクターサイズ(論理/物理):512バイト/512バイト
I/O サイズ (最小/最適): 512 バイト / 512 バイト
ディスクラベルタイプ: dos
ディスク識別子: 0x6180123f

  デバイス ブート 開始 終了 ブロック ID システム
/dev/sdb1 2048 20973567 10485760 8e Linux LVM
/dev/sdb2 20973568 41945087 10485760 8e Linux LVM
/dev/sdb3 41945088 62916607 10485760 8e Linux LVM

コマンド(ヘルプの場合はm):w
パーティション テーブルが変更されました。

ioctl() を呼び出してパーティション テーブルを再読み取りします。
ディスクを同期しています。
[root@test-centos7-node1 ~]# lsblk
名前 MAJ:MIN RM サイズ RO タイプ マウントポイント
sda 8:0 0 50G 0 ディスク 
├─sda1 8:1 0 2G 0 パーツ /ブート
├─sda2 8:2 0 2G 0 パート[SWAP]
└─sda3 8:3 0 46G 0 パート /
sdb 8:16 0 50G 0 ディスク 
├─sdb1 8:17 0 10G 0 パート 
├─sdb2 8:18 0 10G 0 パート 
└─sdb3 8:19 0 10G 0 パート 
sr0 11:0 1 792M 0 rom 
[root@test-centos7-node1 ~]#

注: ここで使用されるパーティションは、ハードディスクを PV としてシミュレートするために使用されます。ここで注意すべき 1 つの点は、パーティションを保存した後に問題が発生する可能性があることです。つまり、パーティション分割後に lsblk を使用してパーティションを表示することはできません。partprobe を使用してパーティション情報を同期できます。 CentOS 6 では、partx -a /dev/sdb を使用してパーティションを追加し、メモリに同期します。パーティションを削除する場合は、partx -d -nr # /dev/sdb を実行する必要があります。このコマンドは、/dev/sdb のパーティション情報から sdb# パーティション情報を削除し、メモリに同期することを意味します。ここで注意すべき点は、パーティションタイプとして8eを選択する必要があることです。これはLinux LVMを意味します。

2) lvm2パッケージをインストールする

[root@test-centos7-node1 ~]# レベル
-bash: lvs: コマンドが見つかりません
[root@test-centos7-node1 ~]# yum info lvm2 
読み込まれたプラグイン: fastestmirror
キャッシュされたホストファイルからミラー速度をロードする
 * ベース: mirrors.aliyun.com
 * 追加情報: mirrors.aliyun.com
 * 更新情報: mirrors.aliyun.com
利用可能なパッケージ
名前: lvm2
アーキテクチャ: x86_64
エポック: 7
バージョン: 2.02.185
リリース: 2.el7_7.2
サイズ: 1.3M
リポジトリ:updates/7/x86_64
概要: ユーザーランド論理ボリューム管理ツール
URL: http://sources.redhat.com/lvm2
ライセンス: GPLv2
説明: LVM2には、読み取り/書き込み操作を処理するためのすべてのサポートが含まれています。
      : 物理ボリューム(ハードディスク、RAIDシステム、磁気光学など)
      : 複数のデバイス(MD)については、mdadm(8)を参照、ループデバイスについては、
      : losetup(8))、1つのボリュームグループ(仮想ディスクの一種)を作成する
      : 1つ以上の物理ボリュームと1つ以上の論理ボリュームの作成
      : ボリューム グループ内の (論理パーティションの種類)。

[root@test-centos7-node1 ~]# yum install lvm2 -y
読み込まれたプラグイン: fastestmirror
キャッシュされたホストファイルからミラー速度をロードする
 * ベース: mirrors.aliyun.com
 * 追加情報: mirrors.aliyun.com
 * 更新情報: mirrors.aliyun.com
依存関係の解決
--> トランザクションチェックを実行中
---> パッケージ lvm2.x86_64 7:2.02.185-2.el7_7.2 がインストールされます
--> 依存関係の処理: lvm2-libs = 7:2.02.185-2.el7_7.2 (パッケージ: 7:lvm2-2.02.185-2.el7_7.2.x86_64)
--> 処理中の依存関係: パッケージ: 7:lvm2-2.02.185-2.el7_7.2.x86_64 の device-mapper-persistent-data >= 0.7.0-0.1.rc6
--> 処理依存関係: liblvm2app.so.2.2(Base)(64bit)、パッケージ: 7:lvm2-2.02.185-2.el7_7.2.x86_64
--> 処理中の依存関係: libdevmapper.so.1.02(DM_1_02_141)(64 ビット)、パッケージ: 7:lvm2-2.02.185-2.el7_7.2.x86_64
--> 依存関係の処理: libdevmapper-event.so.1.02(Base)(64bit)、パッケージ: 7:lvm2-2.02.185-2.el7_7.2.x86_64
--> 依存関係の処理: パッケージ 7:lvm2-2.02.185-2.el7_7.2.x86_64 の liblvm2app.so.2.2()(64 ビット)
--> 依存関係の処理: libdevmapper-event.so.1.02()(64 ビット)、パッケージ: 7:lvm2-2.02.185-2.el7_7.2.x86_64
--> トランザクションチェックを実行中
---> パッケージ device-mapper-event-libs.x86_64 7:1.02.158-2.el7_7.2 がインストールされます
---> パッケージ device-mapper-libs.x86_64 7:1.02.140-8.el7 が更新されます
--> 依存関係の処理: パッケージ: 7:device-mapper-1.02.140-8.el7.x86_64 の device-mapper-libs = 7:1.02.140-8.el7
---> パッケージ device-mapper-libs.x86_64 7:1.02.158-2.el7_7.2 がアップデートされます
---> パッケージ device-mapper-persistent-data.x86_64 0:0.8.5-1.el7 がインストールされます
---> パッケージ lvm2-libs.x86_64 7:2.02.185-2.el7_7.2 がインストールされます
--> 処理依存関係: device-mapper-event = 7:1.02.158-2.el7_7.2 (パッケージ: 7:lvm2-libs-2.02.185-2.el7_7.2.x86_64)
--> トランザクションチェックを実行中
---> パッケージ device-mapper.x86_64 7:1.02.140-8.el7 が更新されます
---> パッケージ device-mapper.x86_64 7:1.02.158-2.el7_7.2 がアップデートされます
---> パッケージ device-mapper-event.x86_64 7:1.02.158-2.el7_7.2 がインストールされます
--> 依存関係の解決が完了しました

依存関係が解決されました

============================================================================================================================
 パッケージ アーキテクチャ バージョン リポジトリ サイズ
============================================================================================================================
インストール中:
 lvm2 x86_64 7:2.02.185-2.el7_7.2 アップデート 1.3 M
依存関係をインストールしています:
 デバイスマッパーイベント x86_64 7:1.02.158-2.el7_7.2 更新 190 k
 device-mapper-event-libs x86_64 7:1.02.158-2.el7_7.2 アップデート 189 k
 デバイスマッパー永続データ x86_64 0.8.5-1.el7 ベース 423 k
 lvm2-libs x86_64 7:2.02.185-2.el7_7.2 アップデート 1.1 M
依存関係の更新:
 デバイスマッパー x86_64 7:1.02.158-2.el7_7.2 アップデート 294 k
 device-mapper-libs x86_64 7:1.02.158-2.el7_7.2 アップデート 322 k

取引概要
============================================================================================================================
1 つのパッケージをインストールします (+4 つの依存パッケージ)
アップグレード (2 つの依存パッケージ)

合計ダウンロードサイズ: 3.8 M
パッケージをダウンロードしています:
/usr/bin/applydeltarpm がインストールされていないため、Delta RPM は無効になっています。
(1/7): デバイスマッパーイベント-1.02.158-2.el7_7.2.x86_64.rpm | 190 kB 00:00:00   
(2/7): デバイスマッパーイベントライブラリ 1.02.158-2.el7_7.2.x86_64.rpm | 189 kB 00:00:00   
(3/7): デバイスマッパーライブラリ 1.02.158-2.el7_7.2.x86_64.rpm | 322 kB 00:00:00   
(4/7): lvm2-2.02.185-2.el7_7.2.x86_64.rpm | 1.3 MB 00:00:00   
(5/7): デバイスマッパー-1.02.158-2.el7_7.2.x86_64.rpm | 294 kB 00:00:00   
(6/7): lvm2-libs-2.02.185-2.el7_7.2.x86_64.rpm | 1.1 MB 00:00:00   
(7/7): デバイスマッパー永続データ-0.8.5-1.el7.x86_64.rpm | 423 kB 00:00:00   
----------------------------------------------------------------------------------------------------------------------------------------------
合計 4.3 MB/秒 | 3.8 MB 00:00:00   
トランザクションチェックを実行中
トランザクションテストの実行
トランザクションテストが成功しました
トランザクションの実行
 更新中: 7:device-mapper-1.02.158-2.el7_7.2.x86_64 1/9 
 更新中: 7:device-mapper-libs-1.02.158-2.el7_7.2.x86_64 2/9 
 インストール中: 7:device-mapper-event-libs-1.02.158-2.el7_7.2.x86_64 3/9 
 インストール中: 7:device-mapper-event-1.02.158-2.el7_7.2.x86_64 4/9 
 インストール中: 7:lvm2-libs-2.02.185-2.el7_7.2.x86_64 5/9 
 インストール中: device-mapper-persistent-data-0.8.5-1.el7.x86_64 6/9 
 インストール中: 7:lvm2-2.02.185-2.el7_7.2.x86_64 7/9 
/etc/systemd/system/sysinit.target.wants/lvm2-lvmpolld.socket から /usr/lib/systemd/system/lvm2-lvmpolld.socket へのシンボリックリンクを作成しました。
 クリーンアップ: 7:device-mapper-1.02.140-8.el7.x86_64 8/9 
 クリーンアップ: 7:device-mapper-libs-1.02.140-8.el7.x86_64 9/9 
 検証中: 7:device-mapper-libs-1.02.158-2.el7_7.2.x86_64 1/9 
 検証中: 7:device-mapper-1.02.158-2.el7_7.2.x86_64 2/9 
 検証中: device-mapper-persistent-data-0.8.5-1.el7.x86_64 3/9 
 検証中: 7:lvm2-2.02.185-2.el7_7.2.x86_64 4/9 
 検証中: 7:lvm2-libs-2.02.185-2.el7_7.2.x86_64 5/9 
 検証中: 7:device-mapper-event-1.02.158-2.el7_7.2.x86_64 6/9 
 検証中: 7:device-mapper-event-libs-1.02.158-2.el7_7.2.x86_64 7/9 
 検証中: 7:device-mapper-1.02.140-8.el7.x86_64 8/9 
 検証中: 7:device-mapper-libs-1.02.140-8.el7.x86_64 9/9

インストール済み:
 lvm2.x86_64 7:2.02.185-2.el7_7.2                                             

依存関係がインストールされました:
 デバイスマッパーイベント.x86_64 7:1.02.158-2.el7_7.2 デバイスマッパーイベントライブラリ.x86_64 7:1.02.158-2.el7_7.2     
 デバイスマッパー永続データ.x86_64 0:0.8.5-1.el7 lvm2-libs.x86_64 7:2.02.185-2.el7_7.2            

依存関係が更新されました:
 デバイスマッパー.x86_64 7:1.02.158-2.el7_7.2 デバイスマッパーライブラリ.x86_64 7:1.02.158-2.el7_7.2        

完了!
[root@test-centos7-node1 ~]#

注: 最小インストールシステムではデフォルトのパッケージはシステムにインストールされていないため、LVMを作成する前にこのパッケージをインストールする必要があります。

3) PVを作成する

[root@test-centos7-node1 ~]# pvcreate /dev/sdb{1,2,3}
 物理ボリューム「/dev/sdb1」が正常に作成されました。
 物理ボリューム「/dev/sdb2」が正常に作成されました。
 物理ボリューム「/dev/sdb3」が正常に作成されました。
[root@test-centos7-node1 ~]# pvscan 
 PV /dev/sdb1 lvm2 [10.00 GiB]
 PV /dev/sdb3 lvm2 [10.00 GiB]
 PV /dev/sdb2 lvm2 [10.00 GiB]
 合計: 3 [30.00 GiB] / 使用中: 0 [0 ] / VGなし: 3 [30.00 GiB]
[root@test-centos7-node1 ~]# pvs
 PV VG 容量 属性 Pサイズ P空き容量 
 /dev/sdb1 lvm2 --- 10.00g 10.00g
 /dev/sdb2 lvm2 --- 10.00g 10.00g
 /dev/sdb3 lvm2 --- 10.00g 10.00g
[root@test-centos7-node1 ~]# pvdisplay 
 「/dev/sdb1」は「10.00 GiB」の新しい物理ボリュームです
 --- 新しい物理ボリューム ---
 PV名 /dev/sdb1
 VG名        
 PVサイズ 10.00 GiB
 割り当て可能NO
 PEサイズ0  
 合計PE 0
 フリーPE 0
 割り当てられたPE 0
 PV UUID MsszES-YPdm-YGQl-7rgg-B6gX-Q4xu-T8m1gz
  
 「/dev/sdb3」は「10.00 GiB」の新しい物理ボリュームです
 --- 新しい物理ボリューム ---
 PV名 /dev/sdb3
 VG名        
 PVサイズ 10.00 GiB
 割り当て可能NO
 PEサイズ0  
 合計PE 0
 フリーPE 0
 割り当てられたPE 0
 PV UUID BMMx8p-zu9O-ns61-G9DU-iKMR-NmZO-crCjlR
  
 「/dev/sdb2」は「10.00 GiB」の新しい物理ボリュームです
 --- 新しい物理ボリューム ---
 PV名 /dev/sdb2
 VG名        
 PVサイズ 10.00 GiB
 割り当て可能NO
 PEサイズ0  
 合計PE 0
 フリーPE 0
 割り当てられたPE 0
 PV UUID LPynpW-twlu-fxwg-OlCT-jA2A-R5UI-fvqWLj
  
[root@test-centos7-node1 ~]#

注: pvcreate コマンドは、ハードディスクまたはパーティションに対応するデバイス ファイルが続く PV の作成を示します。pvscan コマンドは、システム内の PV 属性を持つディスクを検索するために使用されます。PV 属性は、pvcreate によって作成されたディスクです。pvs は PV の簡単なステータスを表示するために使用され、pvdisplay は PV の詳細情報を表示するために使用されます。もちろん、ディスクを削除して PV 属性を持たないようにしたい場合は、pvremove + ディスクのデバイス ファイル パスを使用できます。

[root@test-centos7-node1 ~]# pvremove /dev/sdb3
 物理ボリューム「/dev/sdb3」のラベルが正常に消去されました。
[root@test-centos7-node1 ~]# pvs
 PV VG 容量 属性 Pサイズ P空き容量 
 /dev/sdb1 lvm2 --- 10.00g 10.00g
 /dev/sdb2 lvm2 --- 10.00g 10.00g
[root@test-centos7-node1 ~]#

注意: PV を削除するための前提条件は、PV がどの VG にも含まれていないことです。そうでない場合は、削除できません。

4) VGを作成する

[root@test-centos7-node1 ~]# pvs
 PV VG 容量 属性 Pサイズ P空き容量 
 /dev/sdb1 lvm2 --- 10.00g 10.00g
 /dev/sdb2 lvm2 --- 10.00g 10.00g
[root@test-centos7-node1 ~]# pvcreate /dev/sdb3
 物理ボリューム「/dev/sdb3」が正常に作成されました。
[root@test-centos7-node1 ~]# pvs
 PV VG 容量 属性 Pサイズ P空き容量 
 /dev/sdb1 lvm2 --- 10.00g 10.00g
 /dev/sdb2 lvm2 --- 10.00g 10.00g
 /dev/sdb3 lvm2 --- 10.00g 10.00g
[root@test-centos7-node1 ~]# vgcreate test -s 8M /dev/sdb{1,2,3}
 ボリュームグループ「テスト」が正常に作成されました
[root@test-centos7-node1 ~]# vgs
 VG #PV #LV #SN 属性 Vサイズ Vフリー 
 テスト 3 0 0 wz--n- <29.98g <29.98g
[root@test-centos7-node1 ~]# vgscan
 キャッシュからボリューム グループを読み取っています。
 メタデータ タイプ lvm2 を使用してボリューム グループ「test」が見つかりました
[root@test-centos7-node1 ~]# vgdisplay 
 --- ボリュームグループ ---
 VG名前テスト
 システムID       
 lvm2をフォーマットする
 メタデータ領域 3
 メタデータシーケンス番号 1
 VGアクセス読み取り/書き込み
 VGステータスサイズ変更可能
 最大レベル0
 カー LV 0
 オープンLV0
 最大PV 0
 カー PV 3
 第3幕
 VG サイズ < 29.98 GiB
 PE サイズ 8.00 MiB
 合計PE 3837
 割り当て PE / サイズ 0 / 0  
 フリー PE / サイズ 3837 / <29.98 GiB
 VG UUID 31vxAP-L5jb-8Yxm-25m2-LdD0-ee8R-sdTjum
  
[root@test-centos7-node1 ~]# vgreduce テスト /dev/sdb3
 ボリュームグループ「test」から「/dev/sdb3」を削除しました
[root@test-centos7-node1 ~]# vgs
 VG #PV #LV #SN 属性 Vサイズ Vフリー 
 テスト 2 0 0 wz--n- 19.98g 19.98g
[root@test-centos7-node1 ~]# vgcreate test2 /dev/sdb3
 ボリューム グループ「test2」が正常に作成されました
[root@test-centos7-node1 ~]# vgs
 VG #PV #LV #SN 属性 Vサイズ Vフリー 
 テスト 2 0 0 wz--n- 19.98g 19.98g
 テスト2 1 0 0 wz--n- <10.00g <10.00g
[root@test-centos7-node1 ~]# vgdisplay test2
 --- ボリュームグループ ---
 VG名テスト2
 システムID       
 lvm2をフォーマットする
 メタデータ領域 1
 メタデータシーケンス番号 1
 VGアクセス読み取り/書き込み
 VGステータスサイズ変更可能
 最大レベル0
 カー LV 0
 オープンLV0
 最大PV 0
 現在のPV 1
 第1幕
 VG サイズ <10.00 GiB
 PE サイズ 4.00 MiB
 総PE 2559
 割り当て PE / サイズ 0 / 0  
 空き PE / サイズ 2559 / <10.00 GiB
 VG UUID rc94SP-JAlk-63Rw-n5xz-qB0d-grnT-ItrMvT
  
[root@test-centos7-node1 ~]# vgremove test2
 ボリューム グループ「test2」が正常に削除されました
[root@test-centos7-node1 ~]# vgs
 VG #PV #LV #SN 属性 Vサイズ Vフリー 
 テスト 2 0 0 wz--n- 19.98g 19.98g
[root@test-centos7-node1 ~]#

注: vgcreate は VG の作成を意味します。使用形式は、vgcreate VGNAME [オプション] ストレージデバイスパスです。-s は指定された PE のサイズを示し、VGNAME は VG の名前を示します。指定された名前は、システム内の既存の VG 名と同じにはできないことに注意してください。vgs はシステム上のすべての VG の簡単な情報を表示するために使用され、vgscan はシステム上の VG を検索し、vgdisplay はすべての VG の詳細情報を表示するために使用されます。もちろん、この例では 1 つだけです。後で VG の詳細情報を表示するように指定することもできます。その VG 名のみを指定する必要があります。vg に関連するコマンドは多数あります。vgreduce は VG 内の PV を削除するために使用され、vgremove は VG を削除するために使用されます。どちらのコマンドでも、操作する VG の名前を後で指定する必要があります。

5) LVを作成する

[root@test-centos7-node1 ~]# レベル
[root@test-centos7-node1 ~]# lvcreate -L 2G -n aaa テスト
 論理ボリューム「aaa」が作成されました。
[root@test-centos7-node1 ~]# lvcreate -L 3G -n bbb テスト 
 論理ボリューム「bbb」が作成されました。
[root@test-centos7-node1 ~]# レベル
 LV VG 属性 LSize プール 原点 データ% メタ% 移動 ログ コピー% 同期 変換
 aaaテスト-wi-a----- 2.00g                          
 bbbテスト-wi-a----- 3.00g                          
[root@test-centos7-node1 ~]# lvscan 
 アクティブ '/dev/test/aaa' [2.00 GiB] 継承
 アクティブ '/dev/test/bbb' [3.00 GiB] 継承
[root@test-centos7-node1 ~]# lvdisplay 
 --- 論理ボリューム ---
 LVパス /dev/test/aaa
 LV名 aaa
 VG名前テスト
 LV UUID R9weh0-D85B-rMcW-oYSM-dAQb-gIQh-RXxITP
 LV 書き込みアクセス 読み取り/書き込み
 LV 作成ホスト、時間 test-centos7-node1、2020-01-06 09:05:23 -0500
 LVステータス利用可能
 # オープン 0
 LV サイズ 2.00 GiB
 現在のLE 256
 セグメント 1
 割り当て継承
 先読みセクター自動
 - 現在8192に設定されています
 ブロックデバイス 253:0
  
 --- 論理ボリューム ---
 LVパス /dev/test/bbb
 LV名 bbb
 VG名前テスト
 LV UUID LYwvZj-ogpf-nwtF-mja6-xwwl-A24W-BslJOu
 LV 書き込みアクセス 読み取り/書き込み
 LV 作成ホスト、時間 test-centos7-node1、2020-01-06 09:05:34 -0500
 LVステータス利用可能
 # オープン 0
 LV サイズ 3.00 GiB
 現在のLE 384
 セグメント 1
 割り当て継承
 先読みセクター自動
 - 現在8192に設定されています
 ブロックデバイス 253:1
  
[root@test-centos7-node1 ~]# lvresize -L +4G /dev/test/aaa 
 論理ボリューム test/aaa のサイズが 2.00 GiB (256 エクステント) から 6.00 GiB (768 エクステント) に変更されました。
 論理ボリューム test/aaa のサイズが正常に変更されました。
[root@test-centos7-node1 ~]# レベル
 LV VG 属性 LSize プール 原点 データ% メタ% 移動 ログ コピー% 同期 変換
 aaaテスト-wi-a----- 6.00g                          
 bbbテスト-wi-a----- 3.00g                          
[root@test-centos7-node1 ~]# lvresize -L -1G /dev/test/bbb
 警告: アクティブな論理ボリュームを 2.00 GiB に削減しています。
 これにより、データ(ファイルシステムなど)が破壊される可能性があります。
本当にテスト/bbbを減らしますか? [y/n]: y
 論理ボリューム test/bbb のサイズが 3.00 GiB (384 エクステント) から 2.00 GiB (256 エクステント) に変更されました。
 論理ボリューム test/bbb のサイズが正常に変更されました。
[root@test-centos7-node1 ~]# レベル
 LV VG 属性 LSize プール 原点 データ% メタ% 移動 ログ コピー% 同期 変換
 aaaテスト-wi-a----- 6.00g                          
 bbbテスト-wi-a----- 2.00g                          
[root@test-centos7-node1 ~]# lvreduce -L 3G /dev/test/aaa  
 警告: アクティブな論理ボリュームを 3.00 GiB に削減しています。
 これにより、データ(ファイルシステムなど)が破壊される可能性があります。
本当に test/aaa を減らしますか? [y/n]: y
 論理ボリューム test/aaa のサイズが 6.00 GiB (768 エクステント) から 3.00 GiB (384 エクステント) に変更されました。
 論理ボリューム test/aaa のサイズが正常に変更されました。
[root@test-centos7-node1 ~]# レベル
 LV VG 属性 LSize プール 原点 データ% メタ% 移動 ログ コピー% 同期 変換
 aaaテスト-wi-a----- 3.00g                          
 bbbテスト-wi-a----- 2.00g                          
[root@test-centos7-node1 ~]# lvreduce -L -1G /dev/test/aaa 
 警告: アクティブな論理ボリュームを 2.00 GiB に削減しています。
 これにより、データ(ファイルシステムなど)が破壊される可能性があります。
本当に test/aaa を減らしますか? [y/n]: y
 論理ボリューム test/aaa のサイズが 3.00 GiB (384 エクステント) から 2.00 GiB (256 エクステント) に変更されました。
 論理ボリューム test/aaa のサイズが正常に変更されました。
[root@test-centos7-node1 ~]# レベル
 LV VG 属性 LSize プール 原点 データ% メタ% 移動 ログ コピー% 同期 変換
 aaaテスト-wi-a----- 2.00g                          
 bbbテスト-wi-a----- 2.00g                          
[root@test-centos7-node1 ~]# lvremove /dev/test/bbb
アクティブな論理ボリューム test/bbb を本当に削除しますか? [y/n]: y
 論理ボリューム「bbb」が正常に削除されました
[root@test-centos7-node1 ~]# レベル
 LV VG 属性 LSize プール 原点 データ% メタ% 移動 ログ コピー% 同期 変換
 aaaテスト-wi-a----- 2.00g                          
[root@test-centos7-node1 ~]#

説明:LVCreateコマンドはLVを作成するために使用されます。ここで、-lは指定されたLVのサイズを示します。 s指定されたLVのスペースを使用して、3Mを指定することを意味しますサイズ +は、+/-がどれだけ削減されるかを示しますVG上のすべてのLVを削除することを意味します。特定のLVを削除する必要があります。

この時点でlvmが実装されており、直接フォーマットしてマウントして使用することができます。

[root@test-centos7-node1 ~]# vgs
 VG #PV #LV #SN 属性 Vサイズ Vフリー 
 テスト 2 0 0 wz--n- 19.98g 19.98g
[root@test-centos7-node1 ~]# lvcreate -l 100%FREE -n xxx テスト
警告: /dev/test/xxx のオフセット 0 で xfs 署名が検出されました。消去しますか? [y/n]: y
 /dev/test/xxx の xfs 署名を消去しています。
 論理ボリューム「xxx」が作成されました。
[root@test-centos7-node1 ~]# レベル
 LV VG 属性 LSize プール 原点 データ% メタ% 移動 ログ コピー% 同期 変換
 xxx テスト-wi-a----- 19.98g                          
[root@test-centos7-node1 ~]# mkfs.xfs -f /dev/test/xxx 
メタデータ=/dev/test/xxx isize=512 agcount=4、agsize=1309696 blks
     = sectsz=512 属性=2、projid32bit=1
     = crc=1 finobt=0、スパース=0
データ = bsize=4096 ブロック=5238784、imaxpct=25
     = 単位=0 幅=0 ブロック
命名 =バージョン 2 bsize=4096 ascii-ci=0 ftype=1
ログ =内部ログ bsize=4096 ブロック=2560、バージョン=2
     = sectsz=512 sunit=0 blks、lazy-count=1
リアルタイム =なし extsz=4096 ブロック=0、rtextents=0
[root@test-centos7-node1 ~]# lsblk
名前 MAJ:MIN RM サイズ RO タイプ マウントポイント
sda 8:0 0 50G 0 ディスク 
├─sda1 8:1 0 2G 0 パーツ /ブート
├─sda2 8:2 0 2G 0 パート[SWAP]
└─sda3 8:3 0 46G 0 パート /
sdb 8:16 0 50G 0 ディスク 
├─sdb1 8:17 0 10G 0 パート 
│ └─テスト-xxx 253:0 0 20G 0 lvm 
├─sdb2 8:18 0 10G 0 パート 
│ └─テスト-xxx 253:0 0 20G 0 lvm 
└─sdb3 8:19 0 10G 0 パート 
sr0 11:0 1 792M 0 rom 
[root@test-centos7-node1 ~]# /dev/test/xxx /mnt をマウントします
[root@test-centos7-node1 ~]# df -h
ファイルシステムサイズ 使用済み 使用可能使用率 マウント先
/dev/sda3 46G 1.6G 45G 4% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 8.6M 1.9G 1% /実行
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 2.0G 135M 1.9G 7% /ブート
tmpfs 378M 0 378M 0% /run/user/0
/dev/mapper/test-xxx 20G 33M 20G 1% /月
[root@test-centos7-node1 ~]#

3. LVの拡張

1) PVを作成し、VGに追加する

[root@test-centos7-node1 ~]# pvs
 PV VG 容量 属性 Pサイズ P空き容量
 /dev/sdb1 テスト lvm2 a-- 9.99g 0 
 /dev/sdb2 テスト lvm2 a-- 9.99g 0 
[root@test-centos7-node1 ~]# vgdisplay 
 --- ボリュームグループ ---
 VG名前テスト
 システムID       
 lvm2をフォーマットする
 メタデータ領域 2
 メタデータシーケンス番号 28
 VGアクセス読み取り/書き込み
 VGステータスサイズ変更可能
 最大レベル0
 カー LV 1
 オープンLV1
 最大PV 0
 カー PV 2
 第2幕
 VG サイズ 19.98 GiB
 PE サイズ 8.00 MiB
 総PE 2558
 割り当て PE / サイズ 2558 / 19.98 GiB
 フリーPE / サイズ 0 / 0  
 VG UUID 31vxAP-L5jb-8Yxm-25m2-LdD0-ee8R-sdTjum
  
[root@test-centos7-node1 ~]#

注: 上記の情報から、VG のサイズは 19.98G であり、これは 2 つの PV のサイズであることがわかります。新しいPVを作成し、それをVGに追加します

[root@test-centos7-node1 ~]# pvs
 PV VG 容量 属性 Pサイズ P空き容量
 /dev/sdb1 テスト lvm2 a-- 9.99g 0 
 /dev/sdb2 テスト lvm2 a-- 9.99g 0 
[root@test-centos7-node1 ~]# pvcreate /dev/sdb3
 物理ボリューム「/dev/sdb3」が正常に作成されました。
[root@test-centos7-node1 ~]# pvs
 PV VG 容量 属性 Pサイズ P空き容量 
 /dev/sdb1 テスト lvm2 a-- 9.99g 0 
 /dev/sdb2 テスト lvm2 a-- 9.99g 0 
 /dev/sdb3 lvm2 --- 10.00g 10.00g
[root@test-centos7-node1 ~]# vgs
 VG #PV #LV #SN 属性 Vサイズ Vフリー
 テスト 2 1 0 wz--n- 19.98g 0 
[root@test-centos7-node1 ~]# vgextend テスト /dev/sdb3
 ボリューム グループ「テスト」が正常に拡張されました
[root@test-centos7-node1 ~]# vgs
 VG #PV #LV #SN 属性 Vサイズ Vフリー
 テスト 3 1 0 wz--n- <29.98g 9.99g
[root@test-centos7-node1 ~]# vgdisplay 
 --- ボリュームグループ ---
 VG名前テスト
 システムID       
 lvm2をフォーマットする
 メタデータ領域 3
 メタデータシーケンス番号 31
 VGアクセス読み取り/書き込み
 VGステータスサイズ変更可能
 最大レベル0
 カー LV 1
 オープンLV1
 最大PV 0
 カー PV 3
 第3幕
 VG サイズ < 29.98 GiB
 PE サイズ 8.00 MiB
 合計PE 3837
 割り当て PE / サイズ 2558 / 19.98 GiB
 無料 PE / サイズ 1279 / 9.99 GiB
 VG UUID 31vxAP-L5jb-8Yxm-25m2-LdD0-ee8R-sdTjum
  
[root@test-centos7-node1 ~]#

説明: vgextend コマンドは、指定された pv を指定された VG に追加するために使用されます。VG では名前のみを指定し、pv ではデバイス パスを指定する必要があります。

2) 新しく追加されたVGのPEをxxx LVに追加します

[root@test-centos7-node1 ~]# vgs
 VG #PV #LV #SN 属性 Vサイズ Vフリー
 テスト 3 1 0 wz--n- <29.98g 9.99g
[root@test-centos7-node1 ~]# レベル
 LV VG 属性 LSize プール 原点 データ% メタ% 移動 ログ コピー% 同期 変換
 xxx テスト-wi-ao---- 19.98g                          
[root@test-centos7-node1 ~]# lvdisplay 
 --- 論理ボリューム ---
 LV パス /dev/test/xxx
 LV名xxx
 VG名前テスト
 LV UUID ihOo41-gh1L-eSHK-iLXY-UGfF-J6uI-UmVWhF
 LV 書き込みアクセス 読み取り/書き込み
 LV 作成ホスト、時間 test-centos7-node1、2020-01-06 10:00:08 -0500
 LVステータス利用可能
 # オープン 1
 LV サイズ 19.98 GiB
 現在のLE 2558
 セグメント 2
 割り当て継承
 先読みセクター自動
 - 現在8192に設定されています
 ブロックデバイス 253:0
  
[root@test-centos7-node1 ~]# lvextend -l +100%FREE /dev/test/xxx 
 論理ボリューム test/xxx のサイズが 19.98 GiB (2558 エクステント) から <29.98 GiB (3837 エクステント) に変更されました。
 論理ボリューム test/xxx のサイズが正常に変更されました。
[root@test-centos7-node1 ~]# レベル
 LV VG 属性 LSize プール 原点 データ% メタ% 移動 ログ コピー% 同期 変換
 xxx テスト -wi-ao---- <29.98g                          
[root@test-centos7-node1 ~]# lvdisplay 
 --- 論理ボリューム ---
 LV パス /dev/test/xxx
 LV名xxx
 VG名前テスト
 LV UUID ihOo41-gh1L-eSHK-iLXY-UGfF-J6uI-UmVWhF
 LV 書き込みアクセス 読み取り/書き込み
 LV 作成ホスト、時間 test-centos7-node1、2020-01-06 10:00:08 -0500
 LVステータス利用可能
 # オープン 1
 LV サイズ <29.98 GiB
 現在のLE 3837
 セグメント 3
 割り当て継承
 先読みセクター自動
 - 現在8192に設定されています
 ブロックデバイス 253:0
  
[root@test-centos7-node1 ~]# vgs
 VG #PV #LV #SN 属性 Vサイズ Vフリー
 テスト 3 1 0 wz--n- <29.98g 0 
[root@test-centos7-node1 ~]# lsblk
名前 MAJ:MIN RM サイズ RO タイプ マウントポイント
sda 8:0 0 50G 0 ディスク 
├─sda1 8:1 0 2G 0 パーツ /ブート
├─sda2 8:2 0 2G 0 パート[SWAP]
└─sda3 8:3 0 46G 0 パート /
sdb 8:16 0 50G 0 ディスク 
├─sdb1 8:17 0 10G 0 パート 
│ └─test-xxx 253:0 0 30G 0 lvm /mnt
├─sdb2 8:18 0 10G 0 パート 
│ └─test-xxx 253:0 0 30G 0 lvm /mnt
└─sdb3 8:19 0 10G 0 パート 
 └─テスト-xxx 253:0 0 30G 0 lvm /mnt
sr0 11:0 1 792M 0 rom 
[root@test-centos7-node1 ~]# df -h
ファイルシステムサイズ 使用済み 使用可能使用率 マウント先
/dev/sda3 46G 1.6G 45G 4% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 8.6M 1.9G 1% /実行
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 2.0G 135M 1.9G 7% /ブート
tmpfs 378M 0 378M 0% /run/user/0
/dev/mapper/test-xxx 20G 33M 20G 1% /月
[root@test-centos7-node1 ~]#

注: lvs にスペースが追加されていることがわかります。 lvextend コマンドは、指定された VG のスペースを指定された lv に追加するために使用されます。 上記の例では、VG のすべての空きスペースを /dev/test/xxx に追加します。 もちろん、VG にまだ空きスペースがある状況もあります。 lvresize を使用して lv のサイズを調整できます。 上記の情報から、VG と Lv に新しいスペースを追加した後、df に示すようにマウント ポイントのスペースが増加しないことがわかります。 次に、resize2fs を使用して、ファイル システムを増加したスペースに同期します。

[root@test-centos7-node1 ~]# resize2fs /dev/test/xxx 
resize2fs 1.42.9 (2013年12月28日)
resize2fs: /dev/test/xxx を開こうとしたときにスーパーブロックに不正なマジック番号があります
有効なファイルシステムのスーパーブロックが見つかりませんでした。
[root@test-centos7-node1 ~]# df -h
ファイルシステムサイズ 使用済み 使用可能使用率 マウント先
/dev/sda3 46G 1.6G 45G 4% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 8.6M 1.9G 1% /実行
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 2.0G 135M 1.9G 7% /ブート
tmpfs 378M 0 378M 0% /run/user/0
/dev/mapper/test-xxx 20G 33M 20G 1% /月
[root@test-centos7-node1 ~]#

注: resize2fs コマンドは ext シリーズのファイルシステム用であり、xfs は xfs_growfs を使用して調整する必要があるため、このコマンドは機能しないようです。

[root@test-centos7-node1 ~]# xfs_growfs /dev/test/xxx 
メタデータ=/dev/mapper/test-xxx isize=512 agcount=4、agsize=1309696 blks
     = sectsz=512 属性=2、projid32bit=1
     = crc=1 finobt=0 スピノード=0
データ = bsize=4096 ブロック=5238784、imaxpct=25
     = 単位=0 幅=0 ブロック
命名 =バージョン 2 bsize=4096 ascii-ci=0 ftype=1
ログ = 内部 bsize=4096 ブロック = 2560、バージョン = 2
     = sectsz=512 sunit=0 blks、lazy-count=1
リアルタイム =なし extsz=4096 ブロック=0、rtextents=0
データブロックが5238784から7858176に変更されました
[root@test-centos7-node1 ~]# df -h
ファイルシステムサイズ 使用済み 使用可能使用率 マウント先
/dev/sda3 46G 1.6G 45G 4% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 8.6M 1.9G 1% /実行
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 2.0G 135M 1.9G 7% /ブート
tmpfs 378M 0 378M 0% /run/user/0
/dev/mapper/test-xxx 30G 33M 30G 1% /月
[root@test-centos7-node1 ~]#

4. LV を縮小する (xfs ファイルシステム)

1) マウントされたLVをアンマウントする

[root@test-centos7-node1 ~]# df -h
ファイルシステムサイズ 使用済み 使用可能使用率 マウント先
/dev/sda3 46G 1.6G 45G 4% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 8.6M 1.9G 1% /実行
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 2.0G 135M 1.9G 7% /ブート
tmpfs 378M 0 378M 0% /run/user/0
/dev/mapper/test-xxx 30G 33M 30G 1% /月
[root@test-centos7-node1 ~]# /mnt をアンマウントします
[root@test-centos7-node1 ~]# df -h
ファイルシステムサイズ 使用済み 使用可能使用率 マウント先
/dev/sda3 46G 1.6G 45G 4% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 8.6M 1.9G 1% /実行
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 2.0G 135M 1.9G 7% /ブート
tmpfs 378M 0 378M 0% /run/user/0
[root@test-centos7-node1 ~]#

2) ディスク検出を強制する

[root@test-centos7-node1 ~]# xfs_repair -n /dev/test/xxx 
フェーズ 1 - スーパーブロックを見つけて検証する...
フェーズ2 - 内部ログの使用
    - ゼロログ...
    - ファイルシステムの空き領域と inode マップをスキャンします...
    - ルート inode チャンクが見つかりました
フェーズ 3 - 各 AG について...
    - agi のリンクされていないリストをスキャンします (ただしクリアしません)...
    - 既知の inode を処理し、inode の検出を実行します...
    -アグノ=0
    -アグノ = 1
    -アグノ = 2
    -アグノ = 3
    - 新しく検出された i ノードを処理します...
フェーズ 4 - 重複ブロックをチェックします...
    - 重複するエクステント リストを設定しています...
    - 重複ブロックを要求する inode をチェックします...
    -アグノ=0
    -アグノ = 1
    -アグノ = 2
    -アグノ = 3
変更フラグが設定されていないため、フェーズ 5 をスキップします。
フェーズ 6 - inode の接続を確認します...
    - ファイルシステムをトラバースしています...
    - トラバーサルが完了しました...
    - 切断された inode を lost+found に移動します...
フェーズ 7 - リンク数を確認します...
変更フラグが設定されていないため、ファイルシステムのフラッシュをスキップして終了します。
[root@test-centos7-node1 ~]#

注: extシリーズのファイルシステムはe2fsckコマンドで確認できます。

3) レベルサイズを調整する

[root@test-centos7-node1 ~]# lvreduce -L -10G /dev/test/xxx 
 警告: アクティブな論理ボリュームを 19.98 GiB 未満に減らしています。
 これにより、データ(ファイルシステムなど)が破壊される可能性があります。
本当に test/xxx を減らしますか? [y/n]: y
 論理ボリューム test/xxx のサイズが <29.98 GiB (3837 エクステント) から <19.98 GiB (2557 エクステント) に変更されました。
 論理ボリューム test/xxx のサイズが正常に変更されました。
[root@test-centos7-node1 ~]# レベル
 LV VG 属性 LSize プール 原点 データ% メタ% 移動 ログ コピー% 同期 変換
 xxx テスト -wi-a----- <19.98g                          
[root@test-centos7-node1 ~]# lvdisplay 
 --- 論理ボリューム ---
 LV パス /dev/test/xxx
 LV名xxx
 VG名前テスト
 LV UUID uhZZaz-Odd9-ibwY-2Z1Z-ZmNY-eZF7-0lXERT
 LV 書き込みアクセス 読み取り/書き込み
 LV 作成ホスト、時間 test-centos7-node1、2020-01-06 10:32:42 -0500
 LVステータス利用可能
 # オープン 0
 LV サイズ <19.98 GiB
 現在のLE 2557
 セグメント 2
 割り当て継承
 先読みセクター自動
 - 現在8192に設定されています
 ブロックデバイス 253:0
  
[root@test-centos7-node1 ~]#

4) マウント

[root@test-centos7-node1 ~]# /dev/test/xxx /mnt をマウントします
マウント:/dev/mapper/test-xxx:SuperBlockを読むことができません
[root@test-centos7-node1〜]#

注:ここで問題が発見されます。 XFSファイルシステム調整コマンドはXFS_GROWFSであり、これは増加操作のみをサポートします。 LVのサイズを調整すると、実際にスペースを減らしたい場合は、この方法でマウントする必要があります。したがって、XFSでLVを縮小することは意味がありません。

[root@test-centos7-node1〜]#mkfs.xfs/dev/test/xxx -f
Meta-data =/dev/test/xxx isize = 512 agcount = 4、agsize = 1309184 blks
     = sectsz=512 属性=2、projid32bit=1
     = crc = 1 finobt = 0、スパース= 0
data = bsize = 4096ブロック= 5236736、imaxpct = 25
     = 単位=0 幅=0 ブロック
naming =バージョン2 bsize = 4096 ascii-ci = 0 ftype = 1
log =内部log bsize = 4096ブロック= 2560、バージョン= 2
     = sectsz=512 sunit=0 blks、lazy-count=1
リアルタイム =なし extsz=4096 ブロック=0、rtextents=0
[root@test-centos7-node1〜]#mount /dev /test /xxx /mnt
[root@test-centos7-node1〜]#df -h
ファイルシステムサイズ 使用済み 使用可能使用率 マウント先
/dev /sda3 46g 1.6g 45g 4% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
TMPFS 1.9g 8.6m 1.9g 1% /実行
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev /sda1 2.0g 135m 1.9g 7% /boot
tmpfs 378M 0 378M 0% /run/user/0
/dev/mapper/test-xxx 20g 33m 20g 1%/mnt
[root@test-centos7-node1〜]

5。LVを削減(Extシリーズファイルシステム)

1)マウントされたLVのマウントを解除します

[root@test-centos7-node1〜]#df -th
ファイルシステム タイプ サイズ 使用済み 空き容量 使用率 マウント先
/dev /sda3 xfs 46g 1.6g 45g 4% /
devtmpfs devtmpfs 1.9g 0 1.9g 0% /dev
TMPFS TMPFS 1.9g 0 1.9g 0% /dev /shm
TMPFS TMPFS 1.9G 8.6M 1.9G 1% /実行
TMPFS TMPFS 1.9G 0 1.9G 0%/SYS/FS/CGROUP
/dev /sda1 xfs 2.0g 135m 1.9g 7% /ブート
TMPFS TMPFS 378M 0 378M 0%/run/user/0
/dev/mapper/test-xxx ext4 20g 45m 19g 1%/mnt
[root@test-centos7-node1〜]#umount /mnt
[root@test-centos7-node1〜]#df -th   
ファイルシステム タイプ サイズ 使用済み 空き容量 使用率 マウント先
/dev /sda3 xfs 46g 1.6g 45g 4% /
devtmpfs devtmpfs 1.9g 0 1.9g 0% /dev
TMPFS TMPFS 1.9g 0 1.9g 0% /dev /shm
TMPFS TMPFS 1.9G 8.6M 1.9G 1% /実行
TMPFS TMPFS 1.9G 0 1.9G 0%/SYS/FS/CGROUP
/dev /sda1 xfs 2.0g 135m 1.9g 7% /ブート
TMPFS TMPFS 378M 0 378M 0%/run/user/0
[root@test-centos7-node1〜]#

2)ディスク検出を強制します

[root@test-centos7-node1〜]#e2fsck -f/dev/test/xxx 
E2FSCK 1.42.9(2013年12月28日)
パス1:ノード、ブロック、サイズのチェック
パス2:ディレクトリ構造を確認します
パス3:ディレクトリ接続を確認します
パス4:参照カウントを確認します
パス5:グループの概要情報を確認します
/dev/test/xxx:11/1310720ファイル(0.0%contiguous)、126322/5236736ブロック
[root@test-centos7-node1〜]#

注:このステップを実行しない場合、次のステップで最初にディスク検出を行うように促します。

3)ファイルシステムのサイズを変更します

[root@test-centos7-node1〜] #sesize2fs/dev/test/xxx 12g
Resize2FS 1.42.9(2013年12月28日)
/dev/test/xxxでファイルシステムを3145728(4k)ブロックに変更します。
/dev/test/xxxのファイルシステムは、長さ3145728ブロックになりました。

[root@test-centos7-node1〜]#

4)LVのサイズを調整します

[root@test-centos7-node1〜]#lvreduce -l 12g/dev/test/xxx 
 警告:アクティブな論理ボリュームを12.00ギブに減らします。
 これにより、データ(ファイルシステムなど)が破壊される可能性があります。
あなたは本当にテスト/xxxを減らしたいですか?[y/n]:y
 論理ボリュームテスト/XXXのサイズは、<19.98 GIB(2557 Extents)から12.00 GIB(1536 Extents)に変更されました。
 論理ボリュームテスト/XXXのサイズに正常に変更されました。
[root@test-centos7-node1〜]#lvs
 lv vg attr lsizeプールオリジンデータ%メタ%move log cpy%sync convert
 xxx test -wi-a ---- 12.00g                          
[root@test-centos7-node1〜]#

注:ここでのスペースは、ファイルシステムと同じサイズでなければなりません。ファイルシステムを破損できないため、ファイルシステムが減少した場合にスペースが小さくなります。

5)マウント

[root@test-centos7-node1〜]#mount /dev /test /xxx /mnt
[root@test-centos7-node1〜]#df -h
ファイルシステムサイズ 使用済み 使用可能使用率 マウント先
/dev /sda3 46g 1.6g 45g 4% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
TMPFS 1.9g 8.6m 1.9g 1% /実行
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev /sda1 2.0g 135m 1.9g 7% /boot
tmpfs 378M 0 378M 0% /run/user/0
/dev/mapper/test-xxx 12g 41m 12g 1%/mnt
[root@test-centos7-node1〜]#

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

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

<<:  Vue 仮想 Dom から実際の Dom への変換

>>:  同じ日の最初の3つのデータを取得するためのMySQLタイムラインデータ

推薦する

Vue で Axios 非同期リクエスト API を使用する方法

目次基本的なHTTPリクエストの設定async/await を使用した Axios Axios によ...

HTML 中国語文字エンコード標準の概要

HTML では、Web ページで使用されるエンコーディングを指定する必要があります。一般的な指定方法...

Linux ホスト名設定の詳細な紹介

目次1. Linuxホスト名を設定するクライアントホストを構成するサーバーホストを構成する2. ホス...

Linux に起動方法を追加する (サービス/スクリプト)

システムの起動時に読み込む必要がある設定ファイル/etc/profile、/root/.bash_p...

ページングクリックコントロールを実装するネイティブJS

これは、ネイティブJSを使用してページングクリックコントロールを実装する必要がある面接の質問です。参...

Spring Cloud での Docker デプロイメントに jib を使用する詳細な手順

ジブの紹介Jib は Google が開発した、Java アプリケーションの Docker および ...

行の高さと垂直方向の配置についての深い理解

いくつかの概念行ボックス: インライン ボックスを囲むボックス。1 つ以上の行ボックスが積み重ねられ...

一般的な MySQL ストレージ エンジンとパラメータ設定およびチューニングの紹介

MyISAM、MySQLでよく使われるストレージエンジン特性: 1. 同時実行性とロックレベル2. ...

任意の長さの配列を作成または埋めるための JS のヒントの要約

目次序文直接充填方式for ループの push() メソッド配列コンストラクタメソッド配列コンストラ...

ディスク容量不足による MySQL レプリケーション障害の解決方法

目次ケースシナリオ問題を解決するまとめケースシナリオ本日、オンラインで問題が発見されました。監視範囲...

DIV の一般的なタスク (パート 1) — 一般的なタスク (スクロール バーの表示、div の非表示、イベント バブリングの無効化など)

最も一般的に使用されるレイアウト要素として、DIV は Web 開発において重要な役割を果たします。...

WeChatアプレットのスケルトン画面の実装例

目次スケルトンスクリーンとはアプレットでスケルトン画面を生成する方法導入方法表示と非表示ユーザーエク...

dockerでPostgreSQLを実行する方法

1. Dockerをインストールします。参考URL: Docker 入門インストールチュートリアル ...

CSS3の新しい背景プロパティの詳細な説明

これまで、CSS の背景の属性には、color、image、repeat、attachment、po...

Vue.js フロントエンドフレームワークにおけるイベント処理の概要

1. v-onイベント監視DOM イベントをリッスンするには、v-on ディレクティブを使用します。...