パーティションを操作する (CLI)

Posted on 2019-07-28 in zakki

parted で操作します。

バックアップと disk-size による容量付加

前回と同じ。

現在のパーティション状況

以下。ここから /dev/sda2 を右に移動させて、/dev/sda1 に未割り当てのディスクを当てがります。

パーティション作業

parted を使います。こんなのがあるのねしら(ry。

今後の作業の順番は以下です。

  • emergency-mode でログイン
  • / を remount
  • パーティション状況の確認
  • スワップ領域 (/dev/sda5) の削除
  • 論理パーティション(/dev/sda2) の削除
  • スワップ領域 (/dev/sda5) の再作成
  • 論理パーティション(/dev/sda2) の再作成
  • プライマリ(/dev/sda1) 領域の拡大
  • e2fsck でファイルシステムの確認
  • resize2fs でファイルシステムの拡張
  • 再起動
  • スワップ領域の設定

emergency-mode でログインする

パーティションのあれこれをするためにアンマウントをする必要がありますが、通常のテキストログインでアンマウントしようとすると当然 busy となって出来ない。

vagrant@stretch:~$ sudo umount /
umount: /: target is busy
        (In some cases useful info about processes that
         use the device is found by lsof(8) or fuser(1).)

というわけで emergency-mode でログインします。grub 画面で e を押して grub 編集画面へ。そこで所定の個所に systemd.unit=emergency.target と記載。その後、Ctrl+x で grub 画面を抜けてBoot。

/ をremount

root パスワードでログインします。/ は ro でマウントされているので、rw とするために remount します。

root@stretch:~# mount -o remount,rw /
root@stretch:~# mount -v
:
/dev/sda1 on / type ext4 (rw,realtime,data=ordered)
:

パーティション状況の確認

ここからしばらくの間、画像ですみません。parted を起動して p で現在状況を確認する。unit s などで単位を変えてもよい。出力結果をメモしておく。

スワップ領域 (/dev/sda5) の削除

論理パーティション(/dev/sda2) の削除

スワップ領域 (/dev/sda5) の作成

論理パーティション(/dev/sda2) の作成

メモした内容をもとにパーティションを作成していく。今回、Start と End の値は引き算して求めたけど大体でもいいような気がする。

プライマリ(/dev/sda1) 領域の拡大

e2fsck でファイルシステムの確認

resize2fs でファイルシステムの拡張

e2fsck 後に resize2fs を実施すると while checking for on-line resizing support と出る。e2fsck の後、/ のマウント状況 ro になっていることが原因?かわからないけど、rw にしたら通ったのでそうしています。

再起動

スワップ領域の設定

最後にスワップ領域を設定します。

vagrant@stretch:~$ sudo cat /proc/swaps
Filename                                Type            Size    Used    Priority
vagrant@stretch:~$ sudo mkswap /dev/sda5
Setting up swapspace version 1, size = 1022 MiB (1071640576 bytes)
no label, UUID=4f2c9ff5-6e82-4a97-89fa-39ae40566ed7
vagrant@stretch:~$ sudo vi /etc/fstab
# swap was on /dev/sda5 during installation
UUID=4f2c9ff5-6e82-4a97-89fa-39ae40566ed7 /dev/sda5            swap    sw              0       0
vagrant@stretch:~$ sudo swapon /dev/sda5
vagrant@stretch:~$ sudo cat /proc/swaps
Filename                                Type            Size    Used    Priority
/dev/sda5                               partition       1046524 0       -1
vagrant@stretch:~$ free -h
              total        used        free      shared  buff/cache   available
Mem:           996M        415M         85M         12M        496M        423M
Swap:          1.0G          0B        1.0G

結果

お疲れさまでした。

rescue-mode だと?

最初は rescue-mode で出来るのかなと思って試したのだけどなんだか途中で上手くいかなかったので、emergency-mode で試しています。マウント関連の何某が原因かという気はしていますが詳しく調べていません。

参考

お世話になりました。