場合によっては、ファイルシステムの拡張やディザスタリカバリ操作のために、ストレージLUN、ブロックデバイス、LVM、ファイルシステム情報をマッピングする必要があります。
これはほとんどのLinux管理者にとって日常的な作業で、通常は何らかのスクリプトを使用してSAN LUNに対するブロック・デバイス・マッピングを表示し、LVMとファイルシステムの情報を手動で追加して操作を完了します。
将来的には、この情報をシェルスクリプトでマッピングできるようになるため、このアクティビティに手動で介入する必要はなくなります。
LinuxでLUN、ディスク、LVM、ファイルシステムをマッピングするためのシェルスクリプト
このシェル・スクリプトは、Linux上でどのSANディスクがどのブロック・デバイス、LV、VG、およびファイル・システムにマッピングされているかを識別するのに役立ちます。
注意: sdaディスクはオペレーティングシステムディスクであり、複数のパーティションがあるため除外されます。
vi block_device_mapping_with_LUN_FS_LVM.sh
#!/bin/bashfor bdevice in `lsblk | grep disk | awk '{print $1}' | grep -v 'sda'`; dofor mpoint in `lsblk /dev/$bdevice | grep lvm | awk '{print $NF}'`; doLVM_INFO = 'lvs\x20-o\x20+devices\x20|\x20grep\x20-i\x20$bdevice\x20|\x20awk\x20\x27{print\x20$1,$2}\x27';LUN_ID = 'lsscsi\x20--scsi\x20|\x20grep\x20$bdevice\x20|\x20awk\x20\x27{print\x20$NF}\x27';echo "$bdevice --> $mpoint --> $LVM_INFO --> $LUN_ID"
ファイルの実行可能パーミッションを設定します block_device_mapping_with_LUN_FS_LVM.sh
chmod +x block_device_mapping_with_LUN_FS_LVM.sh
最後にスクリプトを実行して結果を確認してください。
sh block_device_mapping_with_LUN_FS_LVM.sh
注: 上記の出力では、デバイス sdb は VMWare 側から追加された仮想ディスクであり、LUN を持っていないため、LUN 情報が表示されていません。他の 3 つのディスクはストレージからマッピングされているため、LUN 情報が表示されています。
上記のスクリプトを即座に実行したい場合は、以下のスクリプトを使用してください。
for bdevice in `lsblk | grep disk | awk '{print $1}' | grep -v 'sda'`; do for mpoint in `lsblk /dev/$bdevice | grep lvm | awk '{print $NF}'`; do LVM_INFO=`lvs -o +devices | grep -i $bdevice | awk '{print $1,$2}'`; LUN_ID=`lsscsi --scsi | grep $bdevice | awk '{print $NF}'`; echo "$bdevice --> $mpoint --> $LVM_INFO --> $LUN_ID"; done; done
sdb --> [SWAP] --> swap2lv swapvg --> -sdc --> /appserver --> appserver_lv appserver_vg --> 021sdd --> /data --> data_lv data_vg --> 022sde --> /backup --> backup_lv backup_vg --> 023
まとめ
このチュートリアルでは、Linux上のSANが提供するLUN、基盤となるオペレーティング・システムのディスク、LV名、VG名、および関連するファイル・システムを調べる方法を紹介します。
経由:





