/dev/sda3から/dev/sda4へのディスク領域の移動

/dev/sda3から/dev/sda4へのディスク領域の移動

これは私の現在の設定です。

Disk /dev/sda: 546.8 GiB, 587127480320 bytes, 1146733360 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 3C89EF9D-3E76-4949-8989-AA8C05C3BF77

Device         Start        End   Sectors   Size Type
/dev/sda1       2048       4095      2048     1M BIOS boot
/dev/sda2       4096   41947135  41943040    20G Linux swap
/dev/sda3   41947136  775950335 734003200   350G Linux filesystem
/dev/sda4  775950336 1146730495 370780160 176.8G Linux filesystem

lsblk -f
NAME   FSTYPE LABEL    UUID                                 MOUNTPOINT
sda
├─sda1
├─sda2 swap            7624e18c-da83-45ac-aeae-9c0864209d7e [SWAP]
├─sda3 ext4            bf9be40b-0aca-4332-8070-820a5373ac6b /var
└─sda4 ext4            d06d9bbf-210b-4df2-8f05-d9a53ed43b3c /
sdb
└─sdb1 vfat   USB DISK DEF8-5885
sr0

Filesystem      Size  Used Avail Use% Mounted on
udev             12G     0   12G   0% /dev
tmpfs           2.4G  1.3M  2.4G   1% /run
/dev/sda4       173G   59G  106G  36% /
tmpfs            12G     0   12G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs            12G     0   12G   0% /sys/fs/cgroup
/dev/sda3       344G   56G  271G  17% /var
tmpfs           2.4G     0  2.4G   0% /run/user/1000
tmpfs           2.4G     0  2.4G   0% /run/user/1001

一部のディスク領域を/dev/sda3から/dev/sda4に移動するには?可能ですか?

/パーティションに余分なスペースを追加する必要があるかもしれません。

ベストアンサー1

私の初期の反応はctrl-alt-delor(スペースを移動できず、データを移動できる)と同じでしたが、それほど単純ではありません。ほとんどのオペレーティングシステムは、特定のパスに特定のエントリがあると予想しています。 Ubuntuも例外ではありません。したがって、sda4(/)からsda3(/ var)に何かを移動できますが、そうすると何かが破損する可能性があります。おそらくシンボリックリンクを追加すると、この問題を解決できます。たとえば、

mv /usr/local /var/userlocal
ln -s /var/usrlocal /usr/local

ほとんど動作しますが、試したい場合は...

mv /home /var/newhome
ln -s /var/newhome /home

...その後、AppArmorに多くの問題があることがわかります。

しかし、解決策があります。これについては後でもう一度説明します。

最初にすべきことは、ディレクトリツリー内のすべてのスペースを使用したポイントを見つけることです。しかし、「df」出力を見ると悪くはありません(私は毎日のドライバで約11Gで、私のサーバーは約5Gで動作しています)。したがって、将来のためのスペースを提供したいと思います。したがって、スペースがどこに行くのかを知る必要があります。一般的にたくさん走るdu -sh /のが答えです。

通常、Linuxシステムでは、/varと/homeがデータを蓄積します。 / varはすでに独自のパーティションにあるため、/ homeにはより多くのスペースが必要になることがあります。したがって、sda3を縮小してから、現在のsda3とsda4の間に新しいパーティション/ファイルシステムを作成する必要があります。

しかし、試す前にいくつかの追加作業があります...

ディスクはGPTなので、幸いにも基本パーティションと拡張パーティションについて心配する必要はありません。

疑う新しいパーティションを挿入すると、新しいパーティションはsda4になり、ルートファイルシステムはsda5に移動されます。パーティション番号の代わりにUUIDまたはラベルを使用するには、fstabを更新する必要があります。また、 grub に新しい場所を指定する必要があります。

個人的に私はそうしようとしません。

別のディスクを購入/借りて、データが正しくバックアップされていることを確認し、既存のディスクを消去して再インストール/復元します。複数のパーティションが必要な場合は、「/」が新しいディスクの前にあることを確認してください。

OTOH現在十分なスペースがあるので、/varと/homeを簡単に変更できます(シングルユーザーモードで最も安全です)。

cd /
cp -r -p /var/* /newvar/
umount /var
rmdir /var
mv /newvar /var

次に、/ etc / fstabで/ varマウントをコメントアウトします。コンピュータがスムーズに再起動し、正しく動作していることを確認してから、反対のプロセスを/ homeに適用します(再度シングルユーザーモードで)。

mkdir /newhome
mount /dev/sda3 /newhome
# get rid of the old /var content...
rm -r -f /newhome/*

cp -r -p /home/* /newwhome/
mv /home /oldhome

その後、fstabに戻り、sda3エントリのコメントを外し、マウントポイントを/ homeに変更します。再起動してテストします。すべてがうまくいったら/oldhomeを削除してください。

おすすめ記事