Linux管理者-ボリューム管理
Logical Volume Management (LVM)Linuxが異なる物理ハードディスク全体のストレージボリュームを管理するために使用する方法です。これをRAIDと混同しないでください。ただし、RAID0またはJ-Bodと同様の概念で考えることができます。LVMを使用すると、(たとえば)それぞれ1TBの物理ディスクを3つ作成し、次に/ dev / sdbなどの論理ボリュームを約3TBにすることができます。または、1.5TBの2つの論理ボリューム、500GBの5つのボリューム、または任意の組み合わせです。1つのディスクを論理ボリュームのスナップショットに使用することもできます。
Note−論理ボリュームを使用すると、正しく構成されている場合、実際にはディスクI / Oが増加します。これは、別々のディスクにまたがるRAID0ストライピングデータと同じように機能します。
LVMを使用したボリューム管理について学習するときは、LVMの各コンポーネントが何であるかを知っていると簡単です。次の表を参考にして、各コンポーネントをしっかりと把握してください。必要に応じて、Googleを使用して学習してください。論理ボリュームの各部分を理解することは、それらを管理するために重要です。
PV | 物理ボリューム | sda |
PP | 物理パーティション | sda1、sda2 |
VG | ボリュームグループ | プールされた物理リソース |
LV | 論理ボリューム | オペレーティングシステムのストレージ機能と見なされます |
A physical volume/ dev / sda、/ dev / sdbとして表示されます。Linuxによって検出された物理ディスク。
A physical partitionfdiskなどのディスクユーティリティによってパーティション化されたディスクのセクションになります。ほとんどの一般的なLVMセットアップでは、物理パーティションは推奨されないことに注意してください。例:ディスク/ dev / sdaは、/ dev / sda1と/ dev / sda1の2つの物理パーティションを含むようにパーティション化されています
それぞれ1TBの物理ディスクが2つある場合、2つの間にほぼ2TBのボリュームグループを作成できます。
ボリュームグループから、ボリュームグループの合計サイズを超えない任意のサイズの3つの論理ボリュームを作成できます。
従来のLinuxディスク管理ツール
CentOS 7のLVM管理用の最新かつ最も優れた機能を備えたツールに精通する前に、まずLinuxディスク管理に使用されてきた従来のツールを調べる必要があります。これらのツールは便利であり、System Storage Manager(lsblk、parted、mkfs.xfs)などの今日の高度なLVMツールでも引き続き使用できます。
ここで、システムに1つまたは2つのディスクを追加したと仮定して、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の3つのディスクがあります。
Disk 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]#
これで、1つのディスクにラベルが付けられました。sdcでも同じ方法でpartedコマンドを実行するだけです。
ディスク上にパーティションを作成する
各ディスクに1つのパーティションのみを作成します。パーティションを作成するには、partedコマンドを再度使用します。
[root@localhost rdc]# parted -a opt /dev/sdb mkpart primary ext4 0% 100%
Warning − 0.00Bから6442MB(セクター0..12582911)のパーティションを要求しました。
管理できる最も近い場所は、17.4kBから1048kB(セクター34..2047)です。
これはまだあなたに受け入れられますか?
はい・いいえ?番号
[root@localhost rdc]# parted -a opt /dev/sdc mkpart primary ext4 0% 100%
Information − / 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の出力からわかるように、2つのパーティションがあり、それぞれが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
この時点で、2つの使用可能なディスクがあります。ただし、手動でマウントした場合にのみ使用できます。それぞれを起動時にマウントするには、fstabファイルを編集する必要があります。また、新しいディスクへのアクセスが必要なグループにアクセス許可を設定する必要があります。
ボリュームグループと論理ボリュームの作成
CentOS 7への最大の追加の1つは、System StorageManagerまたはssmと呼ばれるユーティリティが含まれていることでした。System Storage Manager LinuxでLVMプールとストレージボリュームを管理するプロセスを大幅に簡素化します。
CentOSで単純なボリュームプールと論理ボリュームを作成するプロセスを実行します。最初のステップは、System StorageManagerをインストールすることです。
[root@localhost rdc]# yum install system-storage-manager
ssmlistコマンドを使用してディスクを見てみましょう。
上記のように、合計3つのディスクがシステムにインストールされています。
/sdba1 −CentOSインストールをホストします
/sdb1 − / mnt / sdbにマウント
/sdc1 − / mnt / sdcにマウント
私たちがやりたいのは、2つのディスク(sdbとsdc)を使用してボリュームグループを作成することです。次に、3つの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]#
最後に、3つの論理ボリュームを作成しましょう。
[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
それでは、新しいボリュームを確認しましょう。
これで、2つの物理ディスクパーティションにまたがる3つの個別の論理ボリュームができました。
論理ボリュームは、CentOSLinuxに組み込まれた強力な機能です。これらの管理については、表面に触れました。マスタリングプールと論理ボリュームには、TutorialsPointからの練習と拡張学習が付属しています。今のところ、CentOSでのLVM管理の基本を学び、単一のホスト上に基本的なストライプ論理ボリュームを作成する機能を備えています。