/パスがいっぱいの仮想マシンとしてCentosサーバーがあります。そのため、パーティションサイズを50 GBから70 GBに調整しようとしています。
私はこのガイドに従いました https://www.thomas-krenn.com/de/wiki/LVM_vergr%C3%B6%C3%9Fern
したがって、最初のステップは、仮想マシンの基本設定のサイズを増やすことです。
その後、cfdiskを使用して新しいパーティションを作成しました。
今後:
sda1 NC Primary GPT 53687.10 *
Pri/Log Free Space 21474.84 *
作成後:
sda1 NC Primary GPT 53687.10 *
sda2 Primary Linux 21474.84 *
ガイドの言葉どおりに再起動せずに最初に再起動し、partprobeコマンドを使用しました。
partprobe
Error: The backup GPT table is not at the end of the disk, as it should be.
This might mean that another operating system believes the disk is smaller.
Fix, by moving the backup to the end (and removing the old backup)?
Warning: Not all of the space available to /dev/sda appears to be used, you
can fix the GPT to use all of the space (an extra 41943040 blocks) or
continue with the current setting?
Warning: WARNING: the kernel failed to re-read the partition table on
/dev/sda (Device or resource busy). As a result, it may not reflect all of
your changes until after reboot.
このメッセージを受け取った後、確信がなく、最終的に再起動しました。
その後、新しいパーティションをPVに初期化しようとします。
[root]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda3 vg_atcrushftp lvm2 a-- 49.31g 10.00g
そして、次のエラーメッセージが表示されました:
[root]# pvcreate /dev/sda2
Can't open /dev/sda2 exclusively. Mounted filesystem?
今はわからないので、dfで見つけました。
[root]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_atcrushftp-lv_root
35G 8.4G 25G 26% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
/dev/sda2 477M 121M 331M 27% /boot
/dev/sda1 200M 260K 200M 1% /boot/efi
//192.168.0.53/pictures
[root]# df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/mapper/vg_atcrushftp-lv_root
ext4 36380264 8720856 25804740 26% /
tmpfs tmpfs 1962068 0 1962068 0% /dev/shm
/dev/sda2 ext4 487652 123566 338486 27% /boot
/dev/sda1 vfat 204580 260 204320 1% /boot/efi
mount コマンドは次のようになります。
[root]# mount
/dev/mapper/vg_atcrushftp-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda2 on /boot type ext4 (rw)
/dev/sda1 on /boot/efi type vfat (rw,umask=0077,shortname=winnt)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
私が作成したパーティションは/bootなので使用できないようです。これは/ bootの情報が破損していることを意味しますか?始める前にスナップショットを作成しました。これにより、以前の状態を復元できます。
次は何をすべきですか?データを失うことなくパーティションのサイズを変更したいです。
答え1
GPTドライブのLVMパーティションのサイズ変更
注文する:
pvs Shows physical volume
lvs Shows logical volume
vgs Shows volume groups
vgdisplay Shows volume groups including mount points
lsblk Shows block hierarchy (plate, partition, LVM)
必要なステップの基本的な流れは基本的に次のとおりです。
- 新しいスペースを使用するには、LVM パーティションのサイズを変更します。
- 新しくサイズ変更されたスペースを使用するには、LVMパーティションの物理ボリュームのサイズを変更します。
- ボリュームグループ内の論理ボリュームサイズを新しいサイズに調整します。
- サイズに合わせて各論理ボリュームのファイルシステムのサイズを変更します。
警告:前にバックアップを作成してください
回復モードで再起動
または、オンラインでパーティションのサイズを変更することはできませんので、Live CD / USB環境に再起動してください。
(GPTパーティションディスクなので、FDiskの代わりにPartedツールを使用する必要があります。)
リカバリモードまたはライブ環境にまだ端末がない場合は、端末を開き、次のコマンドを入力してPartedを起動してアレイを確認します。
$ sudo parted /dev/sda
GNU Parted 2.3
Using /dev/sda Welcome to GNU Parted!
Type 'help' to view a list of commands.
これで "(parted)" プロンプトが表示されました。まず、使用する測定単位をセクタに切り替える必要があります。次のコマンドを実行してこれを実行します。
(parted) u s
次に、「print」コマンドを使用して既存のパーティションを一覧表示します。次のような内容が表示されます。
(parted) print
Model: INTEL SRCSATAWB (scsi)
Disk /dev/sda: 19521474560s
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 2048s 1953791s 1951744s ext4 Boot boot
2 (red)1953792s(/red) 19521474526s 19519520735s MYSERVER_HDD lvm
注:GPTテーブルがディスクの末尾にないことを示す警告メッセージが表示されることがあります。これは、ディスクサイズがシステムの予想よりも小さいことを示します(アレイのサイズが変更されたので覚えていますか?)。この問題を解決するかどうかを尋ねるメッセージが表示されます。 「F」と入力してEnterを押します。これにより、カーネルがまだ変更を認識していないという警告が表示されることがあります。 「I」と入力し、Enter キーを押して「無視」に応答します。 Parted を使用している場合は、後者のメッセージを複数回入力するように求められます。答えは毎回「無視」です。この環境ではとにかく最後に再起動するので、現在のカーネルはこれらの変更を知る必要はありません。
上で赤で強調表示されている項目は、デバイスの全体セクタ(新しく拡張されたアレイの合計サイズを表す)と2番目のパーティションの開始セクタです。あなたの番号をもう一度確認して正しいことを確認してください。ここに間違いがあると、データが破損する可能性があります。
今度は、アレイで新しく作成されたスペースをすべて使用するように2番目のパーティションのサイズを変更します。残念ながら、GPTのサイズは調整できません。代わりにパーティションを削除して再作成する必要があります。恐ろしく聞こえますが、このプロセスではドライブのデータが変わらないので心配しないでください。単にドライブ上のパーティションの始まりと終わりに関連する幾何学的データを削除します。次のコマンドを使用して2番目のパーティションを削除します。
(parted) rm 2
それでは、それを置き換える新しいパーティションを作成してみましょう。次のように入力します。
(parted) mkpart
パーティション名を入力するように求められます。以前と同じ名前を指定するか、必要に応じて新しい名前を指定します。
Partition name? []? MYSERVER_HDD
その後、ファイルシステムの種類の入力を求められます。ここではLVMを指定できないので、Enterキーを押して「ext2」を受け入れるだけです。後で変更します。
File system type? [ext2]?
その後、開始セクタを提供するように求められます。以前に書き込んだ2番目のパーティションの開始値を指定します。最後に文字「s」を書かないでください。
Start? 1953792
その後、終了セクタを提供するように求められます。前に記録した合計ドライブサイズから1を引いた値を指定します。実際の値を指定すると、値が「デバイス外」であるというエラーメッセージが表示されます。これがその制限内にある値を指定する理由です。
End? 19521474559
これにより、システムが実際にその場所にパーティションを作成できないというメッセージが表示されます(ディスクにスペースを占める別のパーティションがあるため)。したがって、システムは次に最も近い値(残りのスペースの最大値)を提供します。配列から。ただ「Y」と答えてください。
Warning: You requested a partition from 1953792s to 19521474559s. The
closest location we can manage is 1953792s to 19521165533s. Is this
still acceptable to you? Yes/No?
次に、次のようにパーティションタイプをLVMに変更する必要があります。
(parted) toggle
Partition number? 2
Flag to Invert? lvm
これでパーティション化が完了したので、 quit コマンドを使用して終了します。
(parted) quit
サーバーを再起動してください
正常に起動します。 parted または fdisk を使用してドライブを確認すると、アレイに新しく追加されたスペースを含む完全なパーティションサイズが表示されるはずですが、まだ使用していません。次に、次のコマンドを使用して物理ボリュームのサイズを変更して、LVMに新しいスペースを使用するように指示します。
$ sudo pvresize /dev/sda2
完了したら、次のコマンドを実行して、LVM物理グループの新しい空き領域(空き領域として表示)を確認できるようになりました。
$ sudo pvdisplay
これで、新しく取得した空き容量をLVM論理ボリュームに割り当てることができます。まず、定義されたすべての論理ボリュームのリストを取得します。
$ sudo lvdisplay
スペースを追加する各論理ボリュームの「LV名」をメモしてください。
それでは、論理ボリュームのサイズを変更してみましょう。これを行う方法は2つあります。 1つのアプローチは、論理ボリュームの新しいサイズを定義する絶対値を指定するか、既存のサイズに追加する値を指定することです。最初の例では、/dev/myserver/mylogicvolumeという論理ボリュームのサイズを絶対サイズ20GBに変更します。
$ sudo lvextend -L20G /dev/myserver/mylogicalvolume
...これにより、以前のサイズに関係なく、/dev/myserver/myologicalvolume論理ボリュームのサイズが20GBに変更されます。既存のサイズは増加しません。または、次を使用して既存のサイズにスペースを追加します。
$ sudo lvextend -L+20G /dev/myserver/mylogicalvolume
(-Lと20Gの間のプラス記号に注意してください。)...これにより、/ dev / myserver / myologicalvolume論理ボリュームに20 GBのスペースが追加されます。以前のサイズが10GBの場合、現在のサイズは30GBになります。または、残りの空き領域をすべて論理ボリュームに割り当てるには、次のコマンドを実行します。
$ sudo lvextend -l +100%FREE /dev/myserver/mylogicalvolume
(このパラメーターは大文字Lではなく小文字Lです。)拡張したいすべての論理ボリュームに対してこの手順を繰り返します。スペースを割り当てる他の方法もありますが、上記の方法が最も一般的です。詳細については、lvextend コマンドのマニュアルページを参照してください。
次のコマンドを実行して、各論理ボリュームの新しいサイズを確認できます。
$ sudo lvdisplay
ほぼ全部来ました!これで、新しく割り当てられたスペースを使用するように論理ボリュームに含まれるファイルシステムのサイズを変更するだけです。もう一度以前に記録したLV名を使用して変更した各論理ボリュームに対して、次のコマンドを指定します。
$ sudo resize2fs /dev/myserver/mylogicalvolume
すべての論理ボリュームでファイルシステムを拡張したら、次のコマンドを実行して各ファイルシステムの空き容量を確認できます。
$ df -h
それだけです! GPTパーティション配列からLVMパーティションを正常に拡張しました!などを叩いてください。これで終わりました。
元の投稿:
長い検索の最後に、このガイドが役に立ちました。 http://www.serenux.com/2013/11/howto-resize-an-lvm-partition-on-a-gpt-drive-after-expanding-the-underlying-array/
(できるだけフォーマットをうまくやろうと努力しました。)