GNU/Linux >> Linux の 問題 >  >> Linux

LVMの初心者ガイド

バージョン1.0
作成者:Falko Timme
最終更新日:2015-02-09

このガイドでは、LinuxでLVM(論理ボリューム管理)を操作する方法を示します。また、追加の章でRAID1と一緒にLVMを使用する方法についても説明します。 LVMはかなり抽象的なトピックであるため、この記事にはダウンロードして起動できるDebian Etch VMwareイメージが付属しており、そのDebian Etchシステムで、ここで実行するすべてのコマンドを実行して、結果を私のものと比較できます。この実用的なアプローチにより、LVMに非常に速く慣れることができます。

ただし、このチュートリアルが機能することを保証するものではありません。

1予備メモ

このチュートリアルは、私が読んだ2つの記事に触発されました:

  • http://www.linuxdevcenter.com/pub/a/linux/2006/04/27/managing-disk-space-with-lvm.html
  • http://www.debian-administration.org/articles/410

これらは素晴らしい記事ですが、これまでLVMを使用したことがない場合は理解するのが難しいです。そのため、VMwareServerまたはVMwarePlayerでダウンロードして実行できるこのDebianEtch VMwareイメージを作成しました(その方法については、https://www.howtoforge.com/import_vmware_imagesを参照してください)。

このガイドの過程で必要なすべてのツールをDebianEtchシステムにインストールしました(実行中

 apt-get install lvm2 dmsetup mdadm reiserfsprogs xfsprogs 

)だから、それについて心配する必要はありません。

Debian EtchシステムのネットワークはDHCPを介して構成されているため、IPアドレスの競合について心配する必要はありません。ルートパスワードはhowtoforgeです。 PuTTYなどのSSHクライアントを使用してそのシステムに接続することもできます。 Debian EtchシステムのIPアドレスを確認するには、

を実行します。
 ifconfig 

システムには、6台のSCSIハードディスク/ dev / sda-​​/ dev/sdfがあります。 / dev /sdaはDebianEtchシステム自体に使用され、/ dev / sdb-/ dev/sdfはLVMとRAIDに使用されます。 / dev / sdb-/ dev/sdfにはそれぞれ80GBのディスク容量があります。最初は、それぞれに25GBのディスクスペースしかないように動作し(したがって、それぞれに25GBのみを使用します)、チュートリアルの過程で、25GBのハードディスクを80GBのハードディスクに「交換」します。 LVMでは小さなハードディスクを大きなハードディスクに交換できます。

記事http://www.linuxdevcenter.com/pub/a/linux/2006/04/27/managing-disk-space-with-lvm.htmlは250GBと800GBのハードディスクを使用していますが、pvmoveなどの一部のコマンドはこのようなハードディスクサイズで長い間、25GBと80GBのハードディスクを使用することにしました(LVMがどのように機能するかを理解するには十分です)。

1.1まとめ

このDebianEtchVMwareイメージ(〜310MB)をダウンロードして、このように起動します。パスワードhowtoforgeを使用してrootとしてログインします。

2LVMレイアウト

基本的に、LVMは次のようになります:

1つ以上の物理ボリューム(この例では/ dev / sdb1-/ dev / sde1)があり、これらの物理ボリューム上に1つ以上のボリュームグループ(ファイルサーバーなど)を作成し、各ボリュームグループに1つ以上のボリュームグループを作成できます論理ボリューム。複数の物理ボリュームを使用する場合、各論理ボリュームは、基礎となる物理ボリュームの1つよりも大きくなる可能性があります(ただし、もちろん、論理ボリュームの合計は、物理ボリュームによって提供される合計スペースを超えることはできません)。

フルスペースを論理ボリュームに割り当てず、一部のスペースを未使用のままにしておくことをお勧めします。そうすれば、必要に応じて、後で1つ以上の論理ボリュームを拡大できます。

この例では、fileserverというボリュームグループを作成し、論理ボリューム/ dev / fileserver / share、/ dev / fileserver / backup、および/ dev / fileserver / media(スペースの半分のみを使用します)も作成します。今のところ、物理ボリュームによって提供されています。これにより、後でRAID1に切り替えることができます(このチュートリアルでも説明されています)。

3最初のLVMセットアップ

ハードディスクについて調べてみましょう:

 fdisk -l <​​/ pre> 

出力は次のようになります:

 server1:〜#fdisk -l <​​br />
ディスク/dev/ sda:21.4 GB、21474836480バイト
255ヘッド、63セクター/トラック、2610シリンダー
ユニット=シリンダー16065×512 =8225280バイト

デバイスブート開始終了ブロックIDは、システム
の/ dev / SDA1 * 1 18 144553+ 83 Linuxの
の/ dev / SDA2 19 2450 19535040 83のLinux
/ dev / sda4 2451 2610 128520082Linuxスワップ/Solaris

ディスク/dev/ sdb:85.8 GB、85899345920バイト
255ヘッド、63 br/>単位=16065のシリンダー*512=8225280バイト

ディスク/dev/ sdbには、有効なパーティションテーブルが含まれていません

ディスク/dev/ sdc:85.8 GB 、85899345920バイト
255ヘッド、63セクター/トラック、10443シリンダー
ユニット=16065のシリンダー*512=8225280バイト

ディスク/dev/sdcには有効なものが含まれていませんパーティションテーブル

ディスク/dev/ sdd:85.8 GB、85899345920バイト
255ヘッド、63セクター/トラック、10443シリンダー
ユニット=16065のシリンダー*512=8225280バイト

ディスク/dev/sddには有効なパーティションテーブルが含まれていません

ディスク/dev/ sde:85.8 GB、85899345920バイト
255ヘッド、63セクター/トラック、10443シリンダー
ユニット=16065のシリンダー*512=8225280バイト

ディスク/ dev/sdeには有効なパーティションテーブルが含まれていません

ディスク/dev/ sdf:85.8 GB、85899345920バイト
255ヘッド、63セクター/トラック、10443シリンダー
ユニット=16065のシリンダー*512=8225280バイト

ディスク/dev/sdfには有効なパーティションテーブルが含まれていません

/ dev / sdb-/ dev/sdfにはまだパーティションがありません。パーティション/dev/ sdb1、/ dev / sdc1、/ dev / sdd1、および/ dev / sde1を作成し、今のところ/ dev/sdfは変更しません。ハードディスクに今のところ80GBではなく25GBのスペースしかないかのように動作するため、25GBを/ dev / sdb1、/ dev / sdc1、/ dev / sdd1、および/ dev /sde1に割り当てます。

 fdisk / dev / sdb 

server1:〜#fdisk / dev / sdb

このディスクのシリンダー数は10443に設定されています。
これに問題はありませんが、これは1024より大きくなっています。
特定のセットアップで、次の問題が発生する可能性があります:
1)起動時に実行されるソフトウェア(例:古いバージョンのLILO)
2)他のOSからのソフトウェアの起動とパーティション分割
(例: DOS FDISK、OS / 2 FDISK)

コマンド(ヘルプの場合はm):<-m
コマンドアクション
a起動可能なフラグを切り替えます
bedit bsd disklabel
cdos互換性フラグを切り替えます
dパーティションを削除します
l既知のパーティションタイプを一覧表示します
mこのメニューを印刷します
o追加します新しい空のDOSパーティションテーブル
pパーティションテーブルを印刷します
q変更を保存せずに終了します
s新しい空のSunディスクラベルを作成します
t'partを変更します表示/入力単位を変更する
vパーティションテーブルを確認するwテーブルをディスクに書き込んで終了します
x追加機能(エキスパートのみ)

コマンド(ヘルプの場合はm):<-n
コマンドアクション
e拡張
pプライマリパーティション(1-4)
<-p
パーティション番号(1-4):<-1
最初のシリンダー(1-10443、デフォルト1):<-
デフォルト値1を使用
最後のシリンダーまたは+sizeまたは+sizeMまたは+sizeK(1-10443、デフォルト10443):<-+ 25000M

コマンド(ヘルプの場合はm):<-t
選択したパーティション1
16進コード(コードを一覧表示するにはLと入力):<-L

0空1eを隠しW95 FAT1 80古いMinixのことSolarisのブート
1 FAT12 24 NEC DOS 81のMinix /古い林のBFのSolaris
2 XENIXルート39プラン9 82 Linuxスワップ/だから、C1 DRDOS /秒(脂
3 XENIX usr 3c PartitionMagic 83 Linux c4 DRDOS / sec(FAT-
4 FAT16 <32M DS 6 C /> 5 s 40 Venix 80286 / sec 84 CのPRePブート85 Linuxの拡張C7鳴管
6 FAT16 42 SFS 86 NTFSボリュームがDA非FSデータを設定
7 HPFS / NTFS 4D QNX4.x 87 NTFSボリュームセットDBのCP / M / CTOS /
8 AIX 4e QNX4.x 2nd part 88 Linux plaintext de Dell Utility
9 AIX bootable Bootable 4f DM A 50 s QNX4.x 3rd part 8e Linux LVM e1DOSアクセス
bW95 FAT32 51 OnTrack DM6 Aux 94 Amoeba BBT e3 DOS R / O
c c W95 FAT32(LBA)52 CP / M LBA)53オントラックDM6補助A0は、IBM ThinkPad HI EB BeOSのFS
F W95 Ext'd(LBA)54 OnTrackDM6 A5のFreeBSD EE EFI GPT
10 OPUS 55 EZドライブA6 OpenBSDのEF EFI(FAT-12 / 16 /
11 Hidden FAT12 56 Golden Bow a7 NeXTSTEP f0 Linux / PA-RISC b
12 Compaqdiagnost 5c Priam Edisk a 8 f1 SpeedStor
14非表示のFAT16<361 SpeedStor a9 NetBSD f4 SpeedStor
16非表示のFAT16 fd Linux raid auto
18 AST SmartSleep 65 Novell Netware b8 BSDI swap fe LANstep
1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard /> 16進コード(コードを一覧表示するにはLを入力):<-8e
パーティション1のシステムタイプを8eに変更(Linux LVM)

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

ioctl()を呼び出してパーティションテーブルを再読み込みします。
ディスクを同期しています。

ここで、ハードディスクについても同じことを行います/ dev / sdc-/ dev / sde:

 fdisk / dev / sdc 
fdisk / dev / sdd
fdisk / dev / sde

次に実行します

 fdisk -l <​​/ pre> 

また。出力は次のようになります。

 server1:〜#fdisk -l <​​br />
ディスク/dev/ sda:21.4 GB、21474836480バイト
255ヘッド、63セクター/トラック、2610シリンダー
ユニット=シリンダー16065×512 =8225280バイト

デバイスブート開始終了ブロックIDは、システム
の/ dev / SDA1 * 1 18 144553+ 83 Linuxの
の/ dev / SDA2 19 2450 19535040 83のLinux
/ dev / sda4 2451 2610 128520082Linuxスワップ/Solaris

ディスク/dev/ sdb:85.8 GB、85899345920バイト
255ヘッド、63 br/>ユニット=16065のシリンダー*512=8225280バイト

デバイスブート開始終了ブロックブロック8>ディスク/dev/ sdc:85.8 GB、85899345920バイト
255ヘッド、63セクター/トラック、10443シリンダー
ユニット=16065のシリンダー*512=8225280バイト

デバイスブート始まりと終わりブロックIdシステム
/dev / sdc1 1 3040 24418768+ 8e Linux LVM

ディスク/dev/ sdd:85.8 GB、85899345920バイト
シリンダー
ユニット=16065のシリンダー*512=8225280バイト

デバイスブート開始終了終了ブロックLinux1システム
/ dev / sdd1 br/>ディスク/dev/ sde:85.8 GB、85899345920バイト
255ヘッド、63セクター/トラック、10443シリンダー
ユニット=16065のシリンダー*512=8225280バイト

デバイスブート開始終了ブロックIdシステム
/dev / sde1 1 3040 dev 920 s / track、10443シリンダー
ユニット=16065のシリンダー*512=8225280バイト

ディスク/dev/sdfには有効なパーティションテーブルが含まれていません

次に、LVM用の新しいパーティションを準備します:

 pvcreate / dev / sdb1 / dev / sdc1 / dev / sdd1 / dev / sde1 
 server1:〜#pvcreate / dev / sdb1 / dev / sdc1 / dev / sdd1 / dev /sde1
物理ボリューム"/dev/sdb1"が正常に作成されました
物理ボリューム"/dev / sdc1"正常に作成されました
物理ボリューム"/dev/sdd1"が正常に作成されました
物理ボリューム"/dev/sde1"が正常に作成されました

トレーニングのために、この最後のアクションを元に戻しましょう:

 pvremove / dev / sdb1 / dev / sdc1 / dev / sdd1 / dev / sde1 
 server1:〜#pvremove / dev / sdb1 / dev / sdc1 / dev / sdd1 / dev /sde1
物理ボリューム上のラベル"/dev/sdb1"が正常にワイプされました
物理ボリューム上のラベル"/ dev /sdc1"が正常にワイプされました
物理ボリュームのラベル"/dev/sdd1"が正常にワイプされました
物理ボリュームのラベル"/dev/sde1"が正常にワイプされました

次に実行します

 pvcreate / dev / sdb1 / dev / sdc1 / dev / sdd1 / dev / sde1 

もう一度:

 server1:〜#pvcreate / dev / sdb1 / dev / sdc1 / dev / sdd1 / dev /sde1
物理ボリューム"/dev/sdb1"が正常に作成されました
物理ボリューム"/dev / sdc1"正常に作成されました
物理ボリューム"/dev/sdd1"が正常に作成されました
物理ボリューム"/dev/sde1"が正常に作成されました

今すぐ実行

 pvdisplay 

物理ボリュームの現在の状態について知るには:

 server1:〜#pvdisplay 
---新しい物理ボリューム---
PV名/dev/ sdb1
VG名
PVサイズ23GB NO
PEサイズ(KByte)0
合計PE0
無料PEPE Jd1vyU

---新しい物理ボリューム---
PV名/dev/ sdc1
VG名
NObr/>PVサイズ29GB23 /> PEサイズ(キロバイト)0
合計PE 0
無料PE 0
割り当てPE 0
PV UUID 40GJyh-IbsI-pzhn-TDRq-PQ3l-3ut0-AVSE4B

---新しい物理ボリューム---
PV名/dev/ sdd1
VG名
PVサイズPEいいえ23.29GB合計PE0
Fr ee PE 0
割り当てられたPE0
PV UUID 4mU63D-4s26-uL00-r0pO-Q0hP-mvQR-2Y PV名は/ dev / SDE1
VG名
PVサイズ23.29ギガバイト
割付けNO
PEサイズ(キロバイト)0
合計PE 0
無料PE 0
割り当てられたPE0
PV UUID 3upcZc-4eS2-h4r4-iBKK-gZJv-AYt3-EKdRK6

Linux
  1. LVMを使用したLinuxでの論理ボリュームの作成

  2. Device Mapper (DM) マルチパスの初心者向けガイド

  3. CentOS / RHEL 7 :systemd の初心者向けガイド

  1. CentOS / RHEL における NFS の初心者向けガイド

  2. CentOS / RHEL :cron の初心者向けガイド

  3. LVM 構成 :物理ボリューム (PV) の操作/ユーティリティ

  1. 初心者向けのLinuxターミナルガイド

  2. vi エディターの初心者向けガイド (コマンド ライン リファレンス)

  3. LVM コマンドが「Failed to load config file /etc/lvm/lvm.conf」で失敗する