ハードディスクデバイス名:
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 内のファイル形式を削除し 、元のハードディスクに復元します