web-dev-qa-db-ja.com

CentOSと/ varを新しいディスク/パーティションに移動

わずかに古いシステムで、およそ2年前のものです。 CentOSの実行

私は/var大量のスペースを使用していて、それはすべて良いことです...したがって、スペースを削除することは答えではありません。

移動する簡単で安全な方法はありますか/var OSをトーストせずに新しくマウントされたディスクにコピーしますか?ディスクを追加して適切にフォーマットする方法を知っていますが、実際に移動しようとしたことがありません/var以前に新しい目的地へ。

私はServer Faultや他のWebサイトに関する記事を読んだことがありますが、これについての正確な対処方法については、あいまいです。通常、プロセスの停止などを提案します。ただし、これを安全に行う方法や、データを移動してすべてをマウントする前にすべてを正しく停止したことを確認する方法については詳しく説明しません。

これをすでにチェックしました:

/ varをディスクの新しいセットに移動

MySQLをひどく台無しにするようなことをしたくなかった。ありがとう!

更新:

ファイルシステム情報:

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_centos6-centos6_root
                       47G   41G  4.0G  92% /
tmpfs                 3.9G  500K  3.9G   1% /dev/shm
/dev/vda1             276M  199M   64M  76% /boot
/dev/vdb1             197G  119G   68G  64% /home
/dev/vdd1             197G   95G   93G  51% /home2
/dev/vde1              99G  8.1G   86G   9% /home3
/usr/tmpDSK           2.0G   40M  1.8G   3% /tmp

詳細なマウント:

# cat /etc/fstab
/dev/vg_centos6/centos6_root /                  ext4    usrjquota=quota.user,jqfmt=vfsv0        1 1
/dev/vda1                  /boot                ext3    defaults        1 2
/dev/vdb1   /home   ext4    usrjquota=quota.user,jqfmt=vfsv0    0   0
/dev/vdd1       /home2   ext4    usrjquota=quota.user,jqfmt=vfsv0        0       0
/dev/vde1       /home3   ext4    usrjquota=quota.user,jqfmt=vfsv0        0       0
tmpfs                      /dev/shm             tmpfs   defaults        0 0
devpts                     /dev/pts             devpts  gid=5,mode=620  0 0
sysfs                      /sys                 sysfs   defaults        0 0
proc                       /proc                proc    defaults        0 0
/dev/mapper/vg_centos6-lv_swap swap swap defaults 0 0
/usr/tmpDSK             /tmp                    ext3    defaults,noauto        0 0

私が見ることができるものから、/varは間違いなくルートパーティションにあります。私はそれを変えたいと思っています。

2
Will Ashworth

良いことは、システムがおそらくVMデバイスファイルのノード名(/dev/vdbなど)でわかるように)であることです。これにより、使用する必要がなくなるため、手順が簡単になります。 iSCSIストレージなどの特殊なツール(例:iscsi-initiator-utils)。

CentOSは 最小インストール メディアを提供します。このメディアには、私たちの目的にとって最も重要なツールであるrsyncが含まれています。 CentOS 6を使用していて、64ビットシステムを使用している場合は、 this のように mirror を選択して、最小限のCD ISOイメージをダウンロードできます。次に、サイズが400 MB未満の here から最小限のISOをダウンロードできます。追加の手順に関するガイドラインは次のとおりです。

  • スペアディスクを準備します。新しいディスクをVMに接続し、通常どおりにフォーマットします。これを行う方法を知っていることはすでに書いています。

  • レスキューモードで起動します。 VMを正常にシャットダウンし、最小限のISOを起動します。提供されているインストールオプションの1つはRescue installed systemです。これを選択すると、 /varディレクトリに書き込むプロセスのないCDです。これにより、古いディスクから新しいディスクにデータを転送するための安全な環境が提供されます。メニューに移動する前にナビゲートする必要があるいくつかのメニューがあります。シェルプロンプト。括弧内の項目は、私にとって最も意味のあるものです。適切と思われるものを選択してください。

    • 言語を選択。 [英語]
    • キーボードのタイプ[us]
    • このシステムでネットワークインターフェイスを起動しますか? [番号]。これは、VMを使用しており、新しいディスクがネットワーク接続なしで利用できるようになるためです。
    • レスキュー環境... [スキップ]。これは長い対話です。単にスキップを選択します。
    • シェルを開始
  • データを転送します。新しい/varデータを格納する新しいディスク上のデバイスノードが/dev/vdc1で、/varディレクトリを保持している古いルートパーティションが/dev/vda2であるとします。一時的なマウントポイントを作成し、データをコピーします。

    mkdir /mnt/var /mnt/var_old
    mount /dev/vda2 /mnt/var_old
    mount /dev/vdc1 /mnt/var
    rsync -a /mnt/var_old/ /mnt/var/
    
  • 古い/ varを移動します。古い/varディレクトリを移動して、新しい空のマウントポイントを作成します。

    mv /mnt/var_old/var /mnt/var_old/var.old
    mkdir /mnt/var_old/var
    
  • fstabを編集します。新しいディスク上のファイルシステムが/etc/fstabにマウントされるように/varをセットアップします。上記のデバイスノードを指定して、次のようなエントリを/mnt/var_old/etc/fstabに追加します。

    /dev/vdc1 /var    ext4    defaults        1 2
    
  • 再起動。シェルプロンプトでexitと入力し、VMの再起動を選択します。次に、最小限のCDではなく、通常のOSインストールを起動します。

すべてが順調に進んだ場合、古い/varデータは/var.oldに存在し、/varはそのすべてのデータを含み、使用できる状態になります。必要に応じて、通常の操作の数日後に/var.oldを削除することもできます。

4
pdp

新しいパーティションを/mntの下にマウントし、その後rsync --progress /var /mntを実行します。これがすでに行われている場合は、umount /mntを編集して、新しいvarパーティションとrebootを編集します/etc/fstab

0
c4f4t0r

私はpdpの答えが本当に好きですが、Centos 7のLVMでは、知らない人のためにこれらの手順を追加したいと思います。

レスキューメディアを起動します。シェルに脱出。

ボリュームグループをスキャン:lvm vgscan -v

すべてのボリュームグループをアクティブ化:lvm vgchange -a y

論理ボリュームのリスト:lvm lvs –all

この情報とボリュームがアクティブになると、ボリュームをマウントできるようになります:mount /dev/volumegroup/logicalvolume /mountpoint

これは http://jim-zimmerman.com/?p=587 にある手順のコピーです

また、rsyncがターゲットディレクトリを作成する方法にも注意してください。/old/varを/ new/varにコピーすると/ new/var/varが作成され、CentOSが満足するように新しいvarを再構築する必要があったため、簡単な頭痛の種となりました:)

0
SomeDude