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

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

このガイドを読んだ後、いくつかのフォルダ(たとえば、/varおよび/home)を移動してパーティションを分割してみました。

3.2.1 スマートパーティショニング方式の選択

フォルダを正常に移動できましたこれガイド。

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

/var, /home, を/tmp別のパーティションにマウントしたいと思います。ご案内いただけますか?

答え1

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. /var をマウントポイントとして使用して、新しいパーティションを含むように /etc/fstab ファイルを編集し、ブート時に自動的にマウントされるようにします。

/dev/sdaX       /var     ext4    defaults    0 0

12. /home および /tmp に対して手順 1 ~ 11 を繰り返します。

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

init 5

答え2

同じパーティションで使用するには、LVM3つの単純なバインドマウントを使用できます。

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

  1. ファイルシステムによるパーティションの作成
  2. 回復モードを開始する(シングルユーザーにはまだいくつかのフォルダが必要です)
  3. 次のようにインストールしてください。/mnt/data
  4. 移動するフォルダをすべて移動します。使用する方が安全ですが、cpインストールmv 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. 再起動

答え3

個人的には、私は@Fabianのバインドマウントソリューションを使用するか、シンボリックリンクを使用します。

  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
    # ...
    

dfバインドマウント方法はおそらくベストプラクティスソリューションかもしれませんが、不必要に長いリストとパーティションリストが発生しないので、これを好みますmount

答え4

/ varディレクトリを別のパーティションにマウントします。まず、新しいLVMを接続し、必要なファイルシステムを分割して作成しましょう。

新しいディスクでLVMを作成する:/dev/sdb

# pvcreate /dev/sdb
# vgcreate  vg_var /dev/sdb
# vgdisplay
# df -Th
# lvcreate -n lv_var -l +<PE Free Size>
# mkfs.xfs /dev/mapper/vg_var-lv_var
# lsblk

新しいマウントポイントを作成し、新しいパーティションをマウントします。

 # mkdir /mnt/var
 # mount /dev/mapper/vg_var-lv_var  /mnt/var/

/ varを新しい一時インストールパーティションと同期させる

# rsync -aqxP /var/* /mnt/var  

同期が成功した後に一時パーティションをマウント解除する

# umount  /dev/mapper/vg_var-lv_var /mnt/var/
# lsblk

/etc/fstab を編集して新しいパーティションを含め、関連ファイルシステムを選択します。

/dev/mapper/vg_var-lv_var  /var                 xfs     defaults        0 0

システムを再起動すると完了です。すべてが正しく機能していることを確認し、オプションで一部のLive Linuxシステムなどから起動して、古いvarディレクトリを削除します。

関連情報