web-dev-qa-db-ja.com

/ var、/ homeを別のパーティションに移動

このガイドを読んだ後、いくつかのフォルダー(/var/homeなど)を別のパーティションに移動しようとしています。

.2.1インテリジェントパーティションスキームを選択

this guideに従って、1つのフォルダを正常に移動できました。

ただし、複数のフォルダーでは機能しないようで、適切なフォルダーがなければ、すべてのフォルダーがパーティションにダンプされます。

/var/home、および/tmpを別のパーティションにマウントしたい。誰かがこれについて私を案内できますか?

60
toffee.beanns

1.まず、各マウントポイント(/ var、/ home、/ tmp)のパーティションを作成するために未割り当てのスペースが必要です。これにはGpartedを使用します。

2.次に、それらのパーティション用のファイルシステムを作成する必要があります(Gpartedでも実行できます)または次を使用します。

mkfs.ext4 /dev/sdaX

たとえば、/ dev/sdaXデバイスに新しいext4ファイルシステムを作成するには(/ dev/sdaXを独自のデバイスに置き換えます)

3./mntの下に新しいファイルシステムをマウントします

mkdir /mnt/var        
mount /dev/sdaX /mnt/var

4.プロセス中にディレクトリでrwアクティビティが発生しないように、シングルユーザーモードに移動します。

init 1

5.ルートパスワードを入力します。

6.データをvarのみにバックアップします(/ varディレクトリ自体はバックアップしません)

cd /var
cp -ax * /mnt/var

7.データが正常に転送されたら、/ varディレクトリの名前を変更します。

cd /
mv var var.old

8.新しいvarディレクトリを作成します

mkdir var

9.新しいパーティションをアンマウントします。

umount /dev/sdaX

10./varとして再マウントします

mount /dev/sdaX /var

11./etc/fstabファイルを編集して、新しいパーティションを含めます。/varはマウントポイントで、ブート時に自動的にマウントされるようにします。

/dev/sdaX       /var     ext4    defaults    0 0

12./homeおよび/ tmpについて、手順1〜11を繰り返します。

13.最後にマルチタスクモードに戻ります。

init 5
76
cioby23

それらすべてを同じパーティションで使用する場合は、LVMまたは3つの単純なバインドマウントを使用できます。

バインドベースのソリューションを作成するには

  1. ファイルシステムでパーティションを作成する
  2. レスキューモードに移動します(シングルユーザーはまだいくつかのフォルダーが必要です)
  3. /mnt/dataとしてマウントします
  4. 移動するすべてのフォルダを移動します。 cpmv dir dir.oldを使用する方が安全かもしれませんが、インストール後にこれを行ったので、私には関係ありませんでした。

    mv /home /mnt/data/
    mv /var  /mnt/data/
    
  5. fstabに適切なバインドマウントエントリを作成します。たとえば、

    UUID=01234567-89abc-def0-1234-567890abcde /mnt/data         ext4          noatime,nodiratime,relatime                           0       0
    
    # Binds
    /mnt/data/opt                             /opt              none          bind                                                  0       0
    /mnt/data/home                            /home             none          bind                                                  0       0
    /mnt/data/usr                             /usr              none          bind                                                  0       0
    
  6. リブート

16
Fabian

個人的には@Fabianのbind-mountソリューションを使用するか、シンボリックリンクを使用します。

  1. 新しいパーティションの/etc/fstabエントリを作成します(blkidを使用して新しいパーティションの正しいUUIDを取得し、mkdir /mnt/dataを忘れないでください):

    UUID=01234567-89abc-def0-1234-567890abcde  /mnt/data  ext4  defaults  0 0
    
  2. mount -aまたは同様のものを使用して、新しいパーティションをマウントします

  3. 元のフォルダーを新しいパーティションに移動します。

    mv /var /mnt/data/
    mv /home /mnt/data/
    # ... (you get the point)
    
  4. シンボリックリンクを作成する

    ln -s /mnt/data/var /var
    ln -s /mnt/data/home /home
    # ...
    

Bind-mountメソッドがおそらくベストプラクティスソリューションですが、dfおよびmountパーティションリストが不必要に長くなることがなくなるため、私はこの方法をお勧めします。

5
mreithub

Cioby23の手順に加えて、私は次のことも行わなければなりませんでした。

  restorecon -R /var

sshdを起動するため。

0
froner