コマンドラインからext4パーティション(またはメソッドによっては任意のタイプのパーティション)のサイズを変更する最も簡単な方法は何ですか(コマンドが最も少ない可能性がありますが、

Gpartedのようなツールを使用するのは、GUIでは明らかに簡単ですが、コマンドラインではどうでしょうか?テキストベースのGUIも、それ以来、答えを数えることができると思います。」技術的にはまだコマンドラインにあります。簡単である必要があります。

パーティションとは、パーソナルコンピュータの単一ディスク(ラップトップなど)上の単純なパーティションを意味します。たとえば、/dev/sda4のサイズを変更したいとします。 RAIDはなく、ディスクドライブは1つだけで、ここでは複雑なことは何もありません。単一のディスク上の単純なパーティション(/ dev / sda上の/ dev / sdaX)です。

コメント

  • おそらくこれはご存知でしょうが、GpartedはGNUPartedのGUIフロントエンドです。Parted2.4より前はサイズを変更できましたが、その後削除されました。手動で行う唯一の方法は、パーティションテーブルのサイズを変更し、デバイスマップを作成してから、ファイルシステムのサイズを変更することだと思います。
  • これを見たことがありますかパーティションのサイズ変更に関する記事?
  • ‘特定のパーティションを見たことがありませんが、その要点は、パーティションを削除してから新しいパーティションを作成することです。必要なサイズですが、私が’本質的に行っているのは、”削除”ではありません。サイズを変更するだけです。この質問に対する最善の答えは、”サイズを変更する方法です”パーティションを削除して新しいパーティションを作成するのではなく、resize2fsの手順は完全に不要であり、バックグラウンドで実行されます(当然、ユーザーはパーティション内のすべてのスペースを使用したいためです。したがって、’追加の手順であってはなりません)。

回答

fdiskを使用して、実行中にパーティションテーブルを変更できます。このリンクを参照してください http://codesilence.wordpress.com/2013/03/14/live-resizing-of-an-ext4-filesytem-on-linux/

コメント

  • リンク切れのため、リンクからの関連情報を回答に入れる必要があります。また、wordpress.comは現在、私が住んでいる場所(中国)でブロックされているため、’ “回答

  • @Thushi、fdisk -l paste.ubuntuの出力。 com / 24757891 。 sda5とsda6をsda6としてマージしたい。データに損傷を与えますか?
  • fdiskは、使用済み/空きデータを考慮していないようです。これは、(私の理解では)潜在的なデータ損失につながる可能性があります。 ‘この方法で”簡単な”としてリストする必要があるとは思いませんケース。
  • 回答

    パーティションとファイルシステムの両方のサイズを増やす場合、次に、最初にfdiskを実行してパーティションのサイズを増やし、次にresize2fsを実行してファイルシステムのサイズを増やします。

    両方のサイズを縮小する場合は、最初にresize2fsを実行してから、fdiskを実行します。

    回答

    gpartedresize2fsを使用してパーティションのサイズを変更します。多くの引数を取りません。以下は、私が便利だと思ったものです。

    -Mはファイルシステムの最小サイズに縮小されます。

    -pはパーセンテージインジケータを表示します。

    -Pはファイルシステムの最小サイズを出力して終了します。

    コメント

    • resize2fsはパーティションテーブルをまったく変更しません’ ファイルシステムのサイズを変更します。使用後、’ファイルシステムが存在していたパーティションのサイズを変更する必要があります。

    回答

    サイズ変更するパーティションの直後に空き領域があると想定したスクリプト可能なメソッド:

    echo "- +" | sfdisk -N <partnum> /dev/sdX 

    …続いてresize2fs /dev/sdX<partnum>

    -はsfdiskに既存のstartセクターを再利用するように指示し、+は利用可能なスペースを考慮して可能な限り大きくします。

    コメント

    • 奇妙なことに恐ろしいことですが、これは私が望んでいたことを正確に実行しました。 dd-ファイルシステムをddrescueイメージからたまたま大きくなった新しいドライブに転送します。ありがとうございました。

    回答

    私のような状況に備えて、これに回答します。サイズを変更する必要がありましたゲストとしてUbuntu18.0.4 LTSを実行しているダイナミックディスク上のファイルシステム(Ext4)。ホストからディスクのサイズを変更してから、ファイルシステムのサイズを変更しました。

    通常のコマンドを実行できませんでした。例:

    $ resize2fs /dev/sda2 resize2fs 1.44.1 (24-Mar-2018) The filesystem is already 13180160 (4k) blocks long. Nothing to do! 

    およびfdiskは非常に複雑で、おそらくLiveCDを実行して実行する必要がありました。マウントされていないディスクで動作します。

    これらの2つのコマンドは、私の問題を簡単かつ迅速に解決しました。

    $ growpart /dev/sda 2 CHANGED: partition=2 start=4096 old: size=105441280 end=105445376 new: size=409595871,end=409599967 $ resize2fs /dev/sda2 resize2fs 1.44.1 (24-Mar-2018) Filesystem at /dev/sda2 is mounted on /; on-line resizing required old_desc_blocks = 7, new_desc_blocks = 25 The filesystem on /dev/sda2 is now 51199483 (4k) blocks long. 

    注:2は、デバイスのパーティション番号を示します/dev/sda

    回答

    再起動せずにLinuxルートパーティションのサイズを変更する

    はじめに

    ProfitBricksが提供するイメージからデプロイされた一般的なLinuxサーバーには、単一のストレージボリューム/dev/vdaがあります。 fdiskを使用してこれを見ると、ディスクが2つのパーティションに分割されていることがわかります。最初の/dev/vda1は、OSが存在するブートパーティションです。 2番目のパーティション/dev/vda2は、スワップスペースとして構成されています。

    root@debian:~# fdisk -l /dev/vda 

    Disk /dev/vda: 50 GiB, 53687091200 bytes, 104857600 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: dos Disk identifier: 0x0041f8a8

    Device Boot Start End Sectors Size Id Type /dev/vda1 2048 96471039 96468992 46G 83 Linux /dev/vda2 96471040 104857599 8386560 4G 82 Linux swap / Solaris

    上記の例では、合計50 GBのストレージボリュームは、46GBの使用可能スペースと4GBのスワップ用に分割されます。プロビジョニング後、46 GBのディスク容量では不十分であるが、ストレージボリュームを追加したくない場合はどうなりますか?目標は、ルートファイルシステムで使用可能なディスク領域の量を増やすことです。これは、最小限の中断で実現できます。 サーバーを再起動する必要はありません

    要件

    • ProfitBricksが提供するイメージから作成されたLinuxサーバー。
    • SSHまたはコンソールアクセス(DCD経由) )Linuxサーバーへ。
    • partprobeコマンド。ほとんどのLinuxディストリビューションのpartedパッケージからインストールできます。
    • fdiskswapoffmkswapswapon、およびresize2fsコマンド。デフォルトで利用できる可能性があります。
    • 作業中のシステムの現在のスナップショットまたはその他のバックアップ。安全のために!

    追加のスペースをプロビジョニングする

    ハードドライブのサイズを増やすには、DCD(Data Center Designer)に移動し、ドライブをアップスケールします。

    ドライブ容量を増やしたら、[]をクリックします。変更を処理するためのプロビジョニング」。約1分かかり、ハードドライブが大きくなります。

    次に、スワップをオフにする必要があります。スワップスペースがなくても数分間生きられるようにしてください:

    root@debian:~# swapoff -a 

    スワップを無効にしたら、fdiskを使用してパーティションを再構成する必要があります。

    最初に2つの既存のパーティションを削除します。 fdisk /dev/vdaを実行し、dコマンドを使用してパーティション2を削除してから、パーティション1を削除します。次の例に従ってください。

    root@debian:~# fdisk /dev/vda 

    Command (m for help): d Partition number (1,2, default 2):

    Partition 2 has been deleted.

    Command (m for help): d Selected partition 1 Partition 1 has been deleted.

    次に、パーティションを再作成します。この例では、4GBのスワップスペースがあります。したがって、少なくとも新しいスワップパーティションに使用できるスペースを確保する必要があります。

    最初に、/dev/vda1を再作成します。 n を押して新しいパーティションを作成します。 p と入力して、プライマリパーティションを作成します。 Enter を押すと、デフォルト値の 2048

    。次に、パーティションのサイズを入力します。 GBで値を入力できるため、ディスクを100 GBに増やす場合は、スワップ用に4 GBを差し引き、 + 96G は96GBです。

    Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-209715199, default 2048): Last sector, +sectors or +size{K,M,G,T,P} (2048-209715199, default 209715199): +96G 

    Created a new partition 1 of type "Linux" and of size 96 GiB.

    ここで、同様のプロセスに従ってスワップパーティションを再作成します。 n を押してから、 p を使用して、新しいプライマリパーティションを作成します。 Enter を押して、「最初のセクター」のデフォルト値を受け入れます。 Enter をもう一度押して、「最後のセクター」のデフォルト値を受け入れることもできます。

    Command (m for help): n Partition type p primary (1 primary, 0 extended, 3 free) e extended (container for logical partitions) Select (default p): p Partition number (2-4, default 2): 2 First sector (201328640-209715199, default 201328640): Last sector, +sectors or +size{K,M,G,T,P} (201328640-209715199, default 209715199): 

    Created a new partition 2 of type "Linux" and of size 4 GiB.

    この2番目のパーティションはスワップスペースに使用されるため、パーティションタイプを変更する必要があります。これは、fdiskプロンプトで t を押すことで実行できます。次に、 2 を押して2番目のパーティションを選択します。使用可能なパーティションタイプのリストを表示する場合は、 L を押します。それ以外の場合は、 82 で「Linuxswap / Solaris」を選択します。

    Command (m for help): t Partition number (1,2, default 2): 2 Partition type (type L to list all types): L 

    0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris 1 FAT12 27 Hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT- 2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT- 3 XENIX usr 3c PartitionMagic 84 OS/2 hidden or c6 DRDOS/sec (FAT- 4 FAT16 <32M 40 Venix 80286 85 Linux extended c7 Syrinx 5 Extended 41 PPC PReP Boot 86 NTFS volume set da Non-FS data 6 FAT16 42 SFS 87 NTFS volume set db CP/M / CTOS / . 7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux plaintext de Dell Utility 8 AIX 4e QNX4.x 2nd part 8e Linux LVM df BootIt 9 AIX bootable 4f QNX4.x 3rd part 93 Amoeba e1 DOS access a OS/2 Boot Manag 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad hi ea Rufus alignment e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD eb BeOS fs f W95 Ext"d (LBA) 54 OnTrackDM6 a6 OpenBSD ee GPT 10 OPUS 55 EZ-Drive a7 NeXTSTEP ef EFI (FAT-12/16/ 11 Hidden FAT12 56 Golden Bow a8 Darwin UFS f0 Linux/PA-RISC b 12 Compaq diagnost 5c Priam Edisk a9 NetBSD f1 SpeedStor 14 Hidden FAT16 <3 61 SpeedStor ab Darwin boot f4 SpeedStor 16 Hidden FAT16 63 GNU HURD or Sys af HFS / HFS+ f2 DOS secondary 17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fb VMware VMFS 18 AST SmartSleep 65 Novell Netware b8 BSDI swap fc VMware VMKCORE 1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fd Linux raid auto 1c Hidden W95 FAT3 75 PC/IX bc Acronis FAT32 L fe LANstep 1e Hidden W95 FAT1 80 Old Minix be Solaris boot ff BBT Partition type (type L to list all types): 82

    fdiskは、パーティションタイプを変更したことを次のメッセージでお知らせします。

    Changed type of partition "Linux" to "Linux swap / Solaris". 

    その後、 wコマンドを実行すると、シェルプロンプトに戻ります:

    Command (m for help): w 

    シェルの前に次のようなメッセージが表示される場合がありますプロンプト:

    The partition table has been altered. Calling ioctl() to re-read partition table. Re-reading the partition table failed.: Device or resource busy 

    The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).

    再起動をやめ、代わりにpartprobeを使用して新しいパーティションについてカーネルに通知します。 :

    root@debian:~# partprobe 

    partprobeからの出力がない状態でシェルプロンプトに戻る必要があります。

    次に、/dev/vda1でファイルシステムのサイズを変更する必要があります:

    root@debian:~# resize2fs /dev/vda1 resize2fs 1.42.12 (29-Aug-2014) Filesystem at /dev/vda1 is mounted on /; on-line resizing required old_desc_blocks = 2, new_desc_blocks = 3 

    ファイルシステム/dev/vda1のemは、25165824(4k)ブロックの長さになりました。

    /dev/vda2の新しいスワップ場所を初期化します:

    root@debian:~# mkswap /dev/vda2 Setting up swapspace version 1, size = 4193276 KiB no label, UUID=c55c25a2-a386-4653-8455-4d9030586dd2 

    最後に/etc/fstabを編集し、古いUUIDを

    コマンド。変更する行には「mountpoint」の値がなく、「type」が swap に設定されています。

    # /etc/fstab: static file system information. # # Use "blkid" to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> UUID=332f8fb5-ff1f-4297-b512-f2c93a277296 / ext4 errors=remount-ro 0 1 /dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0 UUID=c55c25a2-a386-4653-8455-4d9030586dd2 none swap sw 0 0 

    /etc/fstabを編集した後、スワップを再度有効にする必要があります:

    root@debian:~# swapon -a 

    確認

    および/またはfdisk

    Device Boot Start End Sectors Size Id Type /dev/vda1 2048 201328639 201326592 96G 83 Linux /dev/vda2 201328640 209715199 8386560 4G 82 Linux swap / Solaris 

    uptimeの出力を確認して、サーバーを再起動しませんでした

    $ uptime 23:54:21 up 7 days, 1:15, 1 user, load average: 0.00, 0.01, 0.05 

    概要

    Linuxサーバーで使用可能なディスクスペースの量を増やすことに成功しました。

    リファレンス

    https://devops.ionos.com/tutorials/increase-the-size-of-a-linux-root-partition-without-rebooting/

    または

    https://web.archive .org / web / 20201113021238 / https://devops.ionos.com/tutorials/increase-the-size-of-a-linux-root-partition-without-rebooting/

    コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です