ディスク パーティション LVM -- ディスク構造

ハードディスクデバイス名:

Linux ではすべてがファイルであるため、ハードディスクのファイルはカーネル内で自動的に生成・認識され、認識後は /dev 配下に配置され、1 台のハードディスクには対応するファイルが生成され、2 台のハードディスクには対応するファイルが生成されます。連続したファイルを生成します。対応するファイルの名前は、ハードディスクの種類に関連しています (例: sas インターフェイス、sata インターフェイス)。

仮想ディスクの名前は、

/dev/sd? //次の a が最初のハードディスク、次の b が 2 番目のハードディスク
[root@www ~]# ls /dev/sd* 
/dev/sda /dev/sda1 /dev/sda2 //behind 1、2、3 はパーティションを表し、
仮想ディスクの名前は
/dev/vd 
/dev/xvdです。

ハードドライブを追加する

ハードドライブを識別するために更新します

[root@www ~]# echo '- - -' > /sys/class/scsi_host/host2/scan //リフレッシュ
[root@www ~]# lsblk //利用可能なすべてのブロックデバイス情報をリストするために使用されます。それらの間の依存関係を表示することもできます。
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT 
sda 8:0 0 50G 0 disc 
§─sda1 8:1 0 1G 0 part /boot 
└─sda2 8:2 0 49G 0 part 
  § ─centos- root 253:0 0 45.1G 0 lvm / 
  └─centos-swap 253:1 0 3.9G 0 lvm [SWAP] 
sdb 8:16 0 20G 0 ディスク
sdc 8:32 0 10G 0 ディスク
sr0 11:0 1 4.4G 0 ROM  

ハードディスクのフォーマットを識別する

# 1 は機械式を意味します
# 0 は SSD を意味します
[root@www ~]# lsblk -d -o name,rota 
NAME ROTA 
sda 1 
sdb 1 
sdc 1 
sr0 1

MBR パーティションと GPT パーティションの 2 つのパーティション モードがあります。

MBR パーティション内のハードディスクには、最大 4 つのプライマリ パーティション、または 3 つのプライマリ パーティションと 1 つの拡張パーティション (n 個の論理パーティション) を含めることができます。

パーティションを作成するコマンド
fdisk は MBR パーティションを管理します。
gdisk は GPT パーティションを管理します。parted
高度なパーティション操作は対話型または非対話型で行うことができます。 // 少しだけ理解してください。partproble
パーティション内のデータを同期し、
システムが新しく追加されたパーティションを識別できるように、partprobe を入力します。パーティションを作成し、物理ボリュームを作成します

パーティショニング ツール fdisk および gdisk

p パーティション リスト//パーティション テーブルを表示
t パーティション タイプを変更
e 論理パーティション
n 新しいパーティションを作成
d パーティションを削除
w 保存して終了
q 保存せずに終了
fdisk /dev/sdb

論理ボリューム (lvm によりボリュームの変更が可能) VG

複数のハードディスクまたはパーティション ロジックをグループ化し、ボリューム グループ VG (ボリューム グループ) と呼びます。

実装プロセス

デバイスを物理ボリュームとして指定します --""1 つ以上の物理ボリュームを使用してボリューム グループを作成します --""次に、ボリューム グループを通じて論理ボリュームを作成します --""その後、マウントして論理ボリューム (パーティション) を使用します

テストを開始する

パーティションを準備し、必ずハードディスクを再フォーマットしてください

まず物理ディスクを物理ボリュームに変換します

[root@www ~]# pvcreate /dev/sd{b1,c}
  物理ボリューム「/dev/sdb1」が正常に作成されました。
  物理ボリューム「/dev/sdc」が正常に作成されました。
[root@www ~]# pvs //查見物理卷
  PV VG Fmt Attr PSize PFree 
  /dev/sda2 centos lvm2 a-- <49.00g 4.00m 
  /dev/sdb1 lvm2 --- 10.00g 10.00g 
  /dev/sdc lvm2 --- 10.00g 10.00g 
[root@www ~]# pvdisplay 
"/dev/sdc" は "10.00 GiB" の新しい物理ボリュームです
  --- NEW 物理ボリューム --- 
  PV 名 /dev/sdc 
  VG 名               
  PV サイズ10.
  割り当て済み PE 0 
  PV UUID f4trEC-xRX1-XfhJ-XCTd-RDnv-FVYT-1blirM 
   
  "/dev/sdb1" は "10.00 GiB" の新しい物理ボリュームです
  --- NEW 物理ボリューム --- 
  PV 名 /dev /sdb1 
  VG 名               
  PV サイズ 10.00 GiB
  割り当て可能 NO 
  PE サイズ 0   
  合計 PE 0
  空き PE 0
  割り当てられた PE 0 
  PV UUID qKEnlk-oAr1-OfFM-cM7W-jBTP-ZOe3-lPT56V

物理ボリュームをボリュームグループに追加する

PEは物理エクステントと呼ばれ、論理ボリュームの最小単位を割り当てる役割を担っており、例えば後の拡張・縮小ではPEを単位として使用する必要があります。

PE サイズを指定できます。デフォルトは 4M です。

vgcreate -s (PE サイズを指定) 16 vg0 /dev/sd{b1,c}

[root@www ~]# vgcreate vggroup /dev/sd{b1,c}
  ボリューム グループ "vggroup" が正常に作成されました
[root@www ~]# vgs 
  VG #PV #LV #SN Attr VSize VFree 
  centos 1 2 0 wz-- n- <49.00g 4.00m 
  vggroup 2 0 0 wz--n- 19.99g 19.99g 
[root@www ~]# vgdisplay 
--- ボリューム グループ --- 
  VG 名 vggroup
  システム ID             
  形式 lvm2
  メタデータ領域 2
  メタデータ シーケンス No 1 
  VG アクセス 読み取り/書き込み
  VG ステータス サイズ変更可能
  MAX LV 0
  現在の LV 0
  オープン LV 0
  最大 PV 0
  現在の PV 2 
  Act PV 2 
  VG サイズ 19.99 GiB 
  PE サイズ 4.00 MiB
  合計 PE 5118
  割り当て PE / サイズ 0 / 0   
  空き PE / サイズ 5118 / 19.99 GiB 
  VG UUID Ugx1bj-bL7L-yZcH-btjC-n0dO-0skf-EWDTGa

ボリュームグループを論理ボリュームに分割する

論理ボリュームでは、PEはLE pvdisplayと呼ばれ、物理ボリュームから分離された論理ボリュームを表示できます。

[root@www ~]# lvcreate -n mysql -l 1000 vggroup
  論理ボリューム「mysql」が作成されました。
[root@www ~]# lvs 
  LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert 
  root centos -wi-ao---- <45.12g                                                     
  swap centos -wi-ao---- <3.88g                                                     
  mysql vggroup -wi-a----- <3.91g                                                     
[root@www ~]# lvdisplay 

--- 論理ボリューム --- 
  LV パス /dev/vggroup/mysql 
  LV 名 mysql 
  VG 名 vggroup  
  LV UUID IJbyFS-wOjQ- 4hpV-iK1x-Fqj9-YO3H-qgWdZ4
  LV 書き込みアクセス 読み取り/書き込み
  LV 作成ホスト、時刻 www、2023-02-15 15:13:26 +0800 
  LV ステータス利用可能
  # オープン 0 
  LV サイズ <3.91 GiB
  現在の LE 1000
  セグメント 1
  割り当て継承 先読み
  セクター自動
  - 現在設定されています~ 8192
  ブロックデバイス 253:2

論理ボリュームの場所を表示する

[root@www ~]# ll /dev/vggroup/log 
lrwxrwxrwx 1 root root 7 2月 15 15:20 /dev/vggroup/log -> ../dm-3 
[root@www ~]# ll /dev/ vggroup/mysql 
lrwxrwxrwx 1 ルート root 7 2月 15 15:13 /dev/vggroup/mysql -> ../dm-2

フォーマットはファイル システムに書き込むことであり、フォーマットは非常に簡単で、mkfs を使用するだけです。

ファイルシステムを作成する

[root@www ~]# mkfs.ext4 /dev/vggroup/mysql 
mke2fs 1.42.9 (2013 年 12 月 28 日)
ファイル システム ラベル = 
OS タイプ: Linux
ブロック サイズ = 4096 (ログ = 2)
ブロック サイズ = 4096 (ログ=2)
ストライド = 0 ブロック、ストライプ幅 = 0 ブロック
256000 i ノード、1024000 ブロック
51200 ブロック (5.00%) スーパー ユーザー用に予約
最初のデータ ブロック =0
最大ファイルシステム ブロック = 1048576000 
32 ブロック グループ
グループあたり 32768 ブロック、32768 フラグメントグループあたり
8000 の
i ノード ブロックに保存されたスーパーブロック バックアップ: 
	32768、98304、163840、229376、294912、819200、884736

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

[root@www ~]# blkid 
/dev/sr0: UUID="2020-11-04-11-36-43-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
/dev/sda1: UUID="4605ff7f-243b-4a27-a39e-52e6cdfe1846" TYPE="xfs" 
/dev/sda2: UUID="LtW5Jh-Tdbs-XeQE-5oyj-M3m1-1CBf-mqPmRa" TYPE="LVM2_member" 
/dev/sdb1: UUID="qKEnlk-oAr1-OfFM-cM7W-jBTP-ZOe3-lPT56V" TYPE="LVM2_member" PARTUID="1ae63c86-a655-44a0-9d50-fb8cab83a8e5" /dev/mapper 
/ centos-root: UUID="a1bb456a-312d-4ad6-805f-ec9e12e701c7" TYPE="xfs" 
/dev/sdc:UUID="f4trEC-xRX1-XfhJ-XCTd-RDnv-FVYT-1blirM" TYPE="LVM2_member" 
/dev/mapper/centos-swap: UUID="4d3f8a28-2f87-408f-bda4-74d531098319" TYPE="swap"
/dev/mapper/vggroup-mysql: UUID="04e0df52-54b5-42ab-bced-f8f30afce3e4" TYPE="ext4"

マウント

vi /etc/fstab 
/dev/vggroup/mysql /mnt/mysql (マウント ポイント) ext4 (ファイル システム) デフォルト 0 0 
mkdir -p /mnt/mysql 
mount -a[root@www ~]# df
ファイル システム 1K- ブロックused available % used マウント ポイント
devtmpfs 1918592 0 1918592 0% /dev 
tmpfs 1930644 0 1930644 0% /dev/shm 
tmpfs 1930644 11800 1918844 1% /run 
tmpfs 1930644 0 193 064 4 0% /sys/fs/cgroup 
/dev /mapper/ centos-root 47285700 1624100 45661600 4% / 
/dev/sda1 1038336 153892 884444 15% /boot 
tmpfs 386132 0 386132 0% /run/user/0
/dev/mapper/vggroup-mysql 3966144 15992 3728968 1% /mnt/mysql

論理ボリュームの拡張

lvextend -l 50%free /dev/vggroup/mysql
論理ボリューム vggroup/mysql のサイズが <3.91 GiB (1000 エクステント) から <6.09 GiB (1559 エクステント) に変更されました。
論理ボリューム vggroup/mysql のサイズが正常に変更されました。
同期されたデータの
size2fs /dev /vggroup/mysql 
raise2fs 1.42.9 (2013 年 12 月 28 日) 
/dev/vggroup/mysql のファイルシステムは /mnt/mysql にマウントされています; オンラインでのサイズ変更が必要です
old_desc_blocks = 1、new_desc_blocks = 1 
/dev/vggroup のファイルシステム/mysql の長さは 1596416 ブロックになりました。

]# df -Th
ファイル システム タイプ 容量 使用済み 使用可能 使用済み% マウント ポイント 
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs /cgroup
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev 
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 12M 1.9G 1% /run 
/dev/mapper/centos-root xfs 46G 1.6G 44G 4% / 
/dev/sda1 xfs 1014M 151M 864M 15% /boot 
tmpfs tmpfs 378M 0 378M 0% /run/user /0 
/dev/mapper/vggroup-mysql ext4 3.8G 16M 3.6G 1% /mnt/mysql / 
dev/mapper/vggroup-log xfs 3.9G 33M 3.9G 1% /mnt/log 
[root@www ~]# df -Th
ファイル システム タイプ 容量 使用済み 使用可能 使用済み% マウント ポイント
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev 
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm 
tmpfs tmpfs 1.9G 12M 1.9G 1% /run 
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup / 
dev/mapper/centos-root xfs 46G 1.6G 44G 4% / 
/dev/sda1 xfs 1014M 151M 864M 15% /ブート
tmpfs tmpfs 378M 0 378M 0% /run/user/0 
/dev/mapper/vggroup-mysql ext4 6.0G 16M 5.7G 1% /mnt/mysql 
/dev/mapper/vggroup-log xfs 3.9G 33M 3.9G 1% / mnt/log 
xfs 文件系统扩容
 lvextend -L 1G /dev/vggroup/log
指定された新しいサイズ (256 エクステント) は既存のサイズ (1000 エクステント) より大きくありません
 同步データ
xfs_growfs /mnt/log/  
meta-data=/dev/mapper/vggroup-log isize=512 agcount=4, agsize=256000 blks 
         = sectsz=512 attr =2、projid32bit=1
         = crc=1 finobt=0 pinodes= 0
データ = bsize=4096 ブロック =1024000、imaxpct=25 
         = sunit=0 swidth=0 blks
命名 =バージョン 2 bsize=4096 ascii-ci=0 ftype=1 
log =内部 bsize=4096 ブロック =2560、バージョン =2 
         = sectsz=512 sunit =0 blks、lazy-count=1 
realtime =none extsz=4096 block=0、rtextents=0 
[root@www ~]# df -h
ファイル システムの容量 used available available used% マウント ポイント
devtmpfs 1.9G 0 1.9G 0% /dev 
tmpfs 1.9G 0 1.9G 0% /dev/shm 
tmpfs 1.9G 12M 1.9G 1% /run 
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root 46G 1.6G 44G 4% / 
/dev/sda1 1014M 151M 864M 15% /boot 
tmpfs 378M 0 378M 0% /run/user/0 
/dev/mapper/vggroup-mysql 6.0G 16M 5.7 G 1% /mnt/mysql 
/dev/mapper/vggroup-log 3.9G 33M 3.9G 1% /mnt/log

ディスクを再パーティション化し、物理パーティションとして選択し、vg ボリューム グループに追加して、展開します 
fdisk /dev/sdcを展開します。
pvcreate /dev/sdc1 
pvs 
vgextend vggroup /dev/sdc1 //新しい物理ボリュームをボリューム グループに追加します
vgs 
vgdisplay

論理ボリュームの縮小 (xfs は縮小をサポートしていません。フォーマットできるのは縮小前のみです。フォーマットすると、ボリューム上のデータが失われ、縮小は無意味になります)

最初のステップは
umount /mnt/mysql/をアンマウント
することです。 2 番目のステップはファイルをチェックすることです (必ず実行する必要があります。実行しない場合はプロンプトが表示されます) 
size2fs /dev/vggroup/mysql 
5Gsize2fs 1.42.9 (28) -Dec-2013)
最初に「e2fsck -f /dev/vggroup/mysql」を実行してください。

e2fsck -f /dev/vggroup/mysql 
e2fsck 1.42.9 (28-Dec-2013)
ステップ 1: i ノード、ブロック、およびサイズを確認する
ステップ 2: ディレクトリ構造を確認する
ステップ 3: ディレクトリ接続を確認する
パス 4: 参照カウントを確認する
ステップ 5: クラスターの概要情報を確認する
/dev/vggroup/mysql: 11/392000 ファイル (0.0% 不連続)、44996/1596416 ブロック ステップ
3サイズ変更
size2fs /dev/vggroup/mysql 
5Gsize2fs 1.42.9 (2013年12月28日)
	[root@www ~]# lvreduce -L 5G / dev/vggroup/mysql 
/dev/vggroup/mysql 上のファイル システムのサイズを 1310720 (4k) ブロックに変更します。/dev/vggroup/mysql のファイル システムは
1310720 ブロックになりました。長さ。
4 番目のステップでは、論理ボリュームを縮小します//2 つの縮小の値は一貫している必要があります。
  警告: PV f4trEC-xRX1-XfhJ-XCTd-RDnv-FVYT-1blirM のデバイスが見つからないか、フィルターによって拒否されました。次のデバイスが見つかりませんでした
  。 uuid f4trEC -xRX1-XfhJ-XCTd-RDnv-FVYT-1blirM. 
  PV が見つからない間は VG vggroup を変更できません. 
  vgreduce --removemissing を検討してください.
  ボリューム グループ vggroup を処理できません5 番目のステップは、 
mount -a
を再マウントすることです
6 番目のステップは、表示することです減少した
 df -Th
ファイル システム タイプ 容量 使用可能 使用済み% マウント ポイント
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev 
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm 
tmpfs tmpfs 1.9G 12M 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup 
/dev/mapper/centos-root xfs 46G 1.6G 44G 4% /  
/dev/sda1 xfs 1014M 151M 864M 15% / ブート
tmpfs tmpfs 378M 0 378M 0% /run/user/0 
/dev/mapper/vggroup -log xfs 3.9G 33M 3.9G 1% /mnt/log 
/dev/mapper/vggroup-mysql ext4 4.9G 16M 4.7G 1% /mnt/mysql

同じボリュームグループ内のハードディスクを交換します。

1. まずデータ
pvmove /dev/sdc1を転送し
、次にボリューム グループ
vgreduce vggroup /dev/sdc1を削除し
、次に物理ボリューム
pvremove /dev/sdcを削除して
から、ハードディスクを取り外します。

論理ボリュームの削除も同様です

先取消挂ダウンロード
[root@www ~]# umount /mnt/mysql/ 
[root@www ~]# umount /mnt/log/ 
2.先移除逻辑卷
lvremove /dev/vggroup/mysql
  警告: PV 用デバイス f4trEC -xRX1-XfhJ-XCTd-RDnv-FVYT-1blirM が見つからないか、フィルターによって拒否されました。
  uuid f4trEC-xRX1-XfhJ-XCTd-RDnv-FVYT-1blirM のデバイスが見つかりませんでした。
本当にアクティブな論理ボリューム vggroup/mysql を削除しますか? [y/n]: y
  論理ボリューム "mysql" は正常に削除されました
[root@www ~]# lvremove /dev/vggroup/log
  警告: PV f4trEC-xRX1-XfhJ-XCTd-RDnv-FVYT-1blirM のデバイスが見つからないか拒否されましたフィルターによって。
  uuid f4trEC-xRX1-XfhJ-XCTd-RDnv-FVYT-1blirM のデバイスが見つかりませんでした。
本当にアクティブな論理ボリューム vggroup/log を削除しますか? [y/n]: y
  論理ボリューム「ログ」が正常に削除されました
[root@www ~]# lvs
  警告: PV f4trEC-xRX1-XfhJ-XCTd-RDnv-FVYT-1blirM のデバイスが見つからないか、フィルターによって拒否されました。uuid f4trEC-xRX1-XfhJ-XCTd 
  -RDnv- のデバイスが見つかりませんでしたFVYT-1blirM. 
  LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert 
  root centos -wi-ao---- <45.12g                                                     
  swap centos -wi-ao---- <3.88g     
3. ボリュームの削除group 
vgremove vggroup 
4. 物理ボリュームを削除します
pvremove /dev/sd{b1,c1} 
5. fdiskl 内のファイル形式を削除し
、元のハードディスクに復元します

おすすめ

転載: blog.csdn.net/m0_67849390/article/details/130192288