新しい論理ボリューム(ドライブ)へのLVMパーティションの移行 - 第VI部
これは私たちの進行中の論理ボリューム管理シリーズの第6部です。このアーティクルでは、ダウンタイムなしで既存の論理ボリュームを他の新しいドライブに移行する方法をお見せします。さらに進む前に、LVM移行とその機能について説明したいと思います。
LVMマイグレーションとは何ですか?
LVMマイグレーションは、論理ボリュームを新しいディスクにデータ損失やダウンタイムなしで移行できる優れた機能の一つです。この機能の目的は、古いディスクから新しいディスクにデータを移動することです。通常、エラーが発生した場合にのみ、あるディスクから別のディスクストレージへのマイグレーションを行います。
移住の特徴
- 論理ボリュームを1つのディスクから別のディスクに移動すること。
- SATA、SSD、SAS、SANストレージiSCSIまたはFCのような任意のタイプのディスクを使用できます。
- データ損失やダウンタイムなしでディスクを移行する。
LVMマイグレーションでは、既存のストレージ内のすべてのボリューム、ファイルシステム、およびそのデータを入れ替えます。たとえば、1つの物理ボリュームにマッピングされている単一の論理ボリュームがある場合、その物理ボリュームは物理ハードドライブです。
さて、私たちがサーバーをSSDハードドライブにアップグレードする必要がある場合、最初に考えるべきことは何ですか? ディスクの再フォーマット? いいえ! サーバーを再フォーマットする必要はありません。LVMには、古いSATAドライブを新しいSSDドライブに移行するオプションがあります。ライブマイグレーションは、ローカルドライブ、SAN、ファイバーチャンネルなど、あらゆる種類のディスクに対応します。
要件
- 論理ボリューム管理による柔軟なディスクストレージの作成 - パート1
- LinuxでLVMを拡張/縮小する方法 - パート2
LVMパーティション(ストレージ)を移行する方法は2つあります。一つはミラーリング方式を使用する方法、もう一つはpvmoveコマンドを使用する方法です。デモンストレーションの目的で、ここではCentos6.5を使用していますが、同様の手順はRHEL、Fedora、Oracle Linux、Scientific Linuxでもサポートされています。
私のサーバー設定
Operating System : CentOS 6.5 Final
IP Address : 192.168.0.224
System Hostname : lvmmig.tecmintlocal.com
ステップ1:現在のドライブを確認する
1. 既に「vdb」という名前の仮想ドライブがあり、それが「tecmint_lv」という論理ボリュームにマッピングされていると仮定します。今、私たちはこの「vdb」論理ボリュームドライブを他の新しいストレージに移行したいと考えています。先に進む前に、fdiskとlvsコマンドを使って仮想ドライブと論理ボリュームの名前を確認してください。
# fdisk -l | grep vd
lvs
ステップ2:新しく追加されたドライブを確認する
2. 既存のドライブを確認したら、次は新しいSSDドライブをシステムに取り付け、新しく追加したドライブをfdiskコマンドを使って確認する時です。
# fdisk -l | grep dev
注: 上の画面で、新しいドライブが名前「/dev/sda」で正常に追加されたことを見ましたか。
ステップ3: 現在の論理ボリュームと物理ボリュームを確認する
3. これから、移行のために物理ボリューム、ボリュームグループ、論理ボリュームを作成します。ボリュームを作成する前に、/mnt/lvm マウントポイントの下にある現在の論理ボリュームのデータを確認してください。次のコマンドを使用してマウントを一覧表示し、データを確認してください。
# df -h
cd /mnt/lvm
cat tecmint.txt
注意: デモ目的のために、私たちは /mnt/lvm マウントポイントの下に2つのファイルを作成し、ダウンタイムなしで新しいドライブにこれらのデータを移行します。
4. 移行する前に、物理ボリュームに関連する論理ボリュームおよびボリュームグループの名前を確認し、このボリュームグループと論理ボリュームを保持していた物理ボリュームを確認してください。
# lvs
vgs -o+devices | grep tecmint_vg
注意: 上の画面で、「vdb」がボリュームグループtecmint_vgを保持しているのを見ましたか。
ステップ4:新しい物理ボリュームを作成する
5. 新しく追加したSSDドライブでPhysical Volumeを作成する前に、fdiskを使用してパーティションを定義する必要があります。パーティション作成時にTypeをLVM(8e)に変更するのを忘れないでください。
# pvcreate /dev/sda1 -v
pvs
6. 次に、新しく作成した物理ボリュームを既存のボリュームグループtecmint_vgに追加します。‘vgextendコマンド’を使用します。
# vgextend tecmint_vg /dev/sda1
vgs
7. ボリュームグループに関する情報の完全なリストを取得するには、「vgdisplay」コマンドを使用してください。
# vgdisplay tecmint_vg -v
注意: 上記の画面では、結果の最後にPVがボリュームグループに追加されたことがわかります。
8. もし、どのデバイスがマッピングされているのかの詳細情報が必要な場合は、'dmsetup'依存コマンドを使用してください。
# lvs -o+devices
dmsetup deps /dev/tecmint_vg/tecmint_lv
上記の結果には、1つの依存関係(PV)または(ドライブ)があり、ここには17がリストされています。確認したい場合は、接続されているドライブの主要番号と副番号を持つデバイスを確認してください。
# ls -l /dev | grep vd
注意: 上のコマンドでは、メジャー番号252およびマイナー番号17がvdb1に関連していることがわかります。上記のコマンドの出力から理解できたことを願っています。
ステップ5:LVMミラーリング方法
9. さて、ミラーリング方式を使用して移行を行う時が来ました。'lvconvert' コマンドを使用して、古い論理ボリュームから新しいドライブにデータを移行します。
# lvconvert -m 1 /dev/tecmint_vg/tecmint_lv /dev/sda1
- -m=鏡
- 1=鏡を一枚追加する
注意: 上記の移行プロセスは、私たちのボリュームサイズに応じて長時間かかります。
10. マイグレーションプロセスが完了したら、変換されたミラーを確認してください。
# lvs -o+devices
11. 変換したミラーが完璧であることが確認できたら、古い仮想ディスク vdb1 を削除できます。オプション -m はミラーを削除しますが、以前はミラーを追加するために 1 を使用していました。
# lvconvert -m 0 /dev/tecmint_vg/tecmint_lv /dev/vdb1
12. 古い仮想ディスクが削除されたら、次のコマンドを使用して論理ボリュームのためにデバイスを再確認できます。
# lvs -o+devices
dmsetup deps /dev/tecmint_vg/tecmint_lv
ls -l /dev | grep sd
上の写真では、私たちの論理ボリュームが8、1に依存し、sda1があることがわかります。これは、私たちの移行プロセスが完了したことを示しています。
13. では、古いドライブから新しいドライブに移行したファイルを確認してください。新しいドライブに同じデータが存在している場合、それは私たちがすべてのステップを完璧に行ったことを意味します。
# cd /mnt/lvm/
cat tecmin.txt
14. すべてが完璧に作成された後、今はボリュームグループからvdb1を削除する時であり、その後、どのデバイスが私たちのボリュームグループに依存しているかを確認します。
# vgreduce /dev/tecmint_vg /dev/vdb1
vgs -o+devices
15. vdb1をボリュームグループtecmint_vgから削除した後でも、論理ボリュームはそこに残っています。なぜなら、私たちはそれをvdb1からsda1に移行したからです。
# lvs
ステップ6: LVM pvmove ミラーリング方式
16. ここでは、‘lvconvert‘ ミラーリングコマンドの代わりに、オプション ‘-n‘ (論理ボリューム名)メソッドを用いて、デバイス間でデータをミラーリングするために ‘pvmove‘ コマンドを使用します。
# pvmove -n /dev/tecmint_vg/tecmint_lv /dev/vdb1 /dev/sda1
そのコマンドは、2つのデバイス間でデータをミラーリングする最も簡単な方法の一つですが、実際の環境ではミラーリングはpvmoveよりも頻繁に使用されます。
結論
この記事では、論理ボリュームを1つのドライブから別のドライブに移行する方法を見てきました。論理ボリューム管理の新しいトリックを学んでいただけたと思います。このようなセットアップを行うには、論理ボリューム管理の基本を知っておく必要があります。基本的なセットアップについては、記事の最上部の要件セクションに記載されたリンクを参照してください。














