別のオプション:Clonezillaは素晴らしいです!

別のオプション:Clonezillaは素晴らしいです!

機械があります:

[root@SERVER ~]# df -mP
Filesystem                 1048576-blocks   Used Available Capacity Mounted on
/dev/sda2                          124685   7462    110897       7% /
tmpfs                               12016      0     12016       0% /dev/shm
/dev/sda1                             485    102       358      23% /boot
/dev/sdb1                           32131     48     30444       1% /var/foobar1
/dev/sdb2                           16009    420     14770       3% /var/foobar2
/dev/sdb3                             988      6       930       1% /var/foobar3
/dev/sdb5                             988      2       935       1% /var/foobar4
/dev/sdb6                             988     17       919       2% /var/foobar5
/dev/mapper/datvg-FOO             125864  81801     37663      69% /var/FOOBAR6
1.2.3.4:/var/FOOBAR7         193524 128878     54816      71% /var/FOOBAR7
[root@SERVER ~]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree 
  datvg   1   1   0 wz--n- 204.94g 79.94g
[root@SERVER ~]# lvs
  LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  FOO  datvg -wi-ao---- 125.00g                                                    
[root@SERVER ~]# lsblk
NAME                  MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sr0                    11:0    1  1024M  0 rom  
sda                     8:0    0   128G  0 disk 
├─sda1                  8:1    0   500M  0 part /boot
├─sda2                  8:2    0 123.7G  0 part /
└─sda3                  8:3    0   3.8G  0 part [SWAP]
sdb                     8:16   0   256G  0 disk 
├─sdb1                  8:17   0    32G  0 part /var/foobar1
├─sdb2                  8:18   0    16G  0 part /var/foobar2
├─sdb3                  8:19   0     1G  0 part /var/foobar3
├─sdb4                  8:20   0     1K  0 part 
├─sdb5                  8:21   0     1G  0 part /var/foobar4
├─sdb6                  8:22   0     1G  0 part /var/foobar5
└─sdb7                  8:23   0   205G  0 part 
  └─datvg-FOO (dm-0) 253:0    0   125G  0 lvm  /var/FOOBAR6
[root@SERVER ~]# 
[root@SERVER ~]# grep ^Red /etc/issue
Red Hat Enterprise Linux Server release 6.8 (Santiago)
[root@SERVER ~]# 

質問:/や/ varなどのFS用LVMを使用するにはどうすれば移行できますか? LVMで同じ「パーティション」を作成し、古いFSからファイルをコピーしますか?機械はどのように始まりますか? /boot は /dev/sda1 に残ることがあります。

答え1

/では約7.4 GBしか使用し、LVMには79 GBの空き容量があるため、はい/(および他の)に対して/var新しいLVを作成し、/および/ varのファイルをコピーできます。コピー用におすすめですrsync

たとえば、新しい/および/varを/targetおよび/target/varとしてインストールするには、次のようにします。

rsync  --archive --sparse --one-file-system --delete-during --delete-excluded \
  --force --numeric-ids --hard-links / /var /target/

次のオプションを使用することもできます。

--human-readable --human-readable --verbose --stats --progress

シングルユーザーモードで再起動してプロセスを完了するのに十分な空き時間があるまで、この操作を必要なだけ繰り返すことができます。例:

  • シングルユーザーモードで再起動
  • マウント//bootRW(まだRWでない場合)
  • インストール/targetして/target/var上記のように
  • 上記のように、最後のrsync
  • for i in proc dev sys dev/pts run boot; do mount -o bind /$i /target/$i; done
  • chroot /target
  • /etc/fstab/および/varのデバイス/uuid/ラベルの編集と変更
  • 走るupdate-grub
  • 出口
  • for i in proc sys dev/pts dev boot var /; do umount /target/$i ; done
  • 再起動

再起動後にすべてが正常に機能したら、/dev/sda2LVM VGに(以前のルートパーティション)を追加できますdatvg

必要に応じて/boot(次にインストール/target/boot)のLVを作成し、rsyncなどを使用してインストールすることもできます。/(周辺ループからブートを削除することに加えて、/var元のバインディングをインストールしたくありません)formount -o bind/boot/target/boot

その後、スワップ用のLVも作成し、LV全体を/dev/sdaLVM VGに追加できます(sdaのすべてのパーティションを削除し、その/dev/sda1パーティションを作成および追加)。


別のオプション:Clonezillaは素晴らしいです!

しかし、もう一つの方法は、次のものを使用することです。クローン属CDまたはUSBスティックを使用してLVMパーティションを作成し、czを使用して/および/bootをLVMに複製します。この操作を最後に実行してから時間がかかっても正確には覚えていませんが、おそらくまだ/target(および/target/var、/target/boot)をマウントし、マウントをバインドし、fstabとupdate-grub

実際、上記のループは起動可能なイメージのカスタムスクリプトで作成されたエイリアスからコピーされ、わずかに変更されましたfor。したがって、このループが必要になる可能性が高いです。tftpclonezilla

ルートシェルで利用可能なエイリアスを使用して起動します。

alias prepare-chroot-target='for i in proc dev sys dev/pts ; do mount -o bind /$i /target/$i ; done'

オプションの追加読み取り(BTRFSプロモーション)

VM用のパーティションを作成する必要があるため、LVMを使用しない場合(パーティションと他のほとんどのブロックデバイスは、VM用の.qcow2またはrawファイルよりも高速です)、次のことをお勧めします。BTFS LVMの代わりに。 LVMよりも柔軟で使いやすいです。たとえば、サブボリュームの割り当てを増やしたり減らしたりするのは簡単です。

btrfs非常に便利な機能があり、実行できます。所定の位置から変換ext3またはext4からbtrfsへ。

残念ながら、そのWikiページには次の警告が表示されます。

警告:4.0カーネル以降、この機能は一般的に使用されなくなったり完全にテストされなくなり、変換が安定して機能しないという報告がいくつかあります。自由に試してみますが、バックアップがあることを確認してください。

あなたできる内部変換を実行し、/ディレクトリ/var/foobar*をbtrfsに移行し、sdbの半分をbtrfs /(RAID-1ミラーとして)に追加し、残りの半分を追加のストレージ(またはbtrfs)またはLVMに使用します。残念ながら、同じサイズのディスクペアはありません。

内部変換を実行しないことを選択した場合(おそらく賢明な作業)、プロセスは/target/{,boot,var}ユーザー用のBtrfsボリュームと/targetサブボリューム用のLVMパーティションを作成するのではなく、上記のrsyncメソッドと似ています。別々のスワップパーティションが必要です(ディスクスワップを忘れ、RAMブロックデバイスにメインラインカーネル圧縮を使用するか、スワップを必要としないようにRAMを追加するか、どちらか)。/target/boot/target/varzram

ただし、データファイルと構成ファイルをバックアップし、ディストリビューションインストーラCDまたはUSBを起動し、最初から再インストールしてから(パーティションレイアウトを慎重に計画した後)、選択したバックアップ部分(/home、/)を復元する方が簡単です。 usr/local, /etc の一部の構成ファイル)。


その他のオプションの追加の読み取り(ZFSプロモーション)

ドライブの不一致を考慮すると、btrfsはより良いオプションかもしれませんが、ZFSに言及しないでbtrfsに言及することは不可能です。

仮想マシンにブロックデバイスを提供する必要があり、btrfsのような柔軟性が必要であり、メインラインではなくカーネルモジュールをインストールすることを気にしない場合は、次のようにします。ZFSbtrfsの代わりに。

btrfsが実行するほとんどすべての操作を実行します(残念ながら、再調整を除いてプールにディスクを追加するだけで、ディスクを削除したりレイアウトを変更したりすることはできません)。もっとを使用すると、ZVOL(プール内のストレージを使用するブロックデバイス)とサブボリュームを作成できます。

今日では、DebianやUbuntuなどの多くのディストリビューションにZFSを簡単にインストールできます。ディストリビューションはパッケージ(カーネル用のモジュールを含み、spl-dkms自動的にビルド)を提供します。zfs-dkmsdkmsモジュールの構築にはかなり時間がかかりますが、それ以外は他のパッケージセットをインストールするのと同じくらい簡単で簡単です。

残念ながら、ZFSに変換することは上記のプロセスほど簡単ではありません。 rootfsをZFS自体に変換するのはかなり難しいプロセスです。同様に、btrfsZFSをサポートするディストリビューションを使用してデータや構成ファイルなどをバックアップし、最初からマシンを再構築する方が簡単です(Ubuntuはおそらく最善の選択肢です)LinuxのZFS現在)。

悪いことに、ZFSではvdevのすべてのパーティションまたはディスクが同じサイズである必要があるため(そうでない場合は、vdevのサイズはその中の最小のデバイスと同じくらい大きくなる可能性があります)、sdaとsdbの約半分をzpoolに追加できます。 。残りのsdbはbtrfs、ext4、xfs、またはLVMです(ZFSでZVOLを作成できるため、これは意味がありません)。

私はDebianでZFSを使用しています。 (ついにZFSがディストリビューション自体に含まれており、デフォルトのDebianパッケージを使用できるようになりました。)私は数年間(少なくとも2011年から)それを使用してきました。おすすめ。それ自体で非常に便利なbtrfsの再調整機能とプールからvdevを削除したり(現在ZFSでは不可能)、RAID-1からRAIDZ-1に変換できる機能があったらと思います。

RAID-1からRAID-5、RAID-6、またはRAID-10へのオンライン変換を実行するbtrfsの機能も優れていますが、おそらく使用しません。私はZFS用RAID-Zを含むすべてのタイプのRAID-5 / RAID-6をほとんど放棄しました(私の考えでは、パフォーマンスコストとクリーンアップまたは再同期時間はそれほど価値がありません)。好むRAID-1またはRAID-10 - プールに必要なだけRAID-1 vdevを追加できます(これにより、RAID-1をRAID-10に効果的に変換したり、既存のRAIDにさらにミラーペアを追加したりできます)。 10)。

とにかく私は仮想マシンでZVOLを広く使用しているので、btrfsはオプションではありません。

関連情報