このガイドを読んだ後、いくつかのフォルダ(たとえば、/var
および/home
)を移動してパーティションを分割してみました。
フォルダを正常に移動できましたこれガイド。
ただし、複数のフォルダでは機能しないようで、私のすべてのフォルダは適切なフォルダなしでパーティションにダンプされます。
/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
同じパーティションで使用するには、LVM
3つの単純なバインドマウントを使用できます。
バインディングベースのソリューションを作成するには
- ファイルシステムによるパーティションの作成
- 回復モードを開始する(シングルユーザーにはまだいくつかのフォルダが必要です)
- 次のようにインストールしてください。
/mnt/data
移動するフォルダをすべて移動します。使用する方が安全ですが、
cp
インストールmv dir dir.old
後にこれを行ったので、私にとっては重要ではありません。mv /home /mnt/data/ mv /var /mnt/data/
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
再起動
答え3
個人的には、私は@Fabianのバインドマウントソリューションを使用するか、シンボリックリンクを使用します。
/etc/fstab
新しいパーティションのエントリを作成します(blkid
新しいパーティションの正しいUUIDを取得することを忘れないでくださいmkdir /mnt/data
)。UUID=01234567-89abc-def0-1234-567890abcde /mnt/data ext4 defaults 0 0
mount -a
または、同様の方法を使用して新しいパーティションをマウントします。ソースフォルダを新しいパーティションに移動します。
mv /var /mnt/data/ mv /home /mnt/data/ # ... (you get the point)
シンボリックリンクの生成
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ディレクトリを削除します。