システム初期状態:

システム初期状態:

私のCentos6x64 VMには約500Gのxvdaディスクがあります。最初はxvda1に8Gが割り当てられ、/にマウントされます。 xvdaの残りの500Gディスク領域はまだ割り当てられていません。そのため、残りのディスク領域を使用可能にすることを決定し、fdisk、pvcreate、vgcreate、lvcreateを使用して論理ボリュームを持つxvda2パーティションを作成してフォーマットし、最後にfstabを更新して自動的にマウントしました。

そのフォルダ(マウントポイント)との関係は次のとおりです。

  • /dev/centos/home ..../home [200G]
  • /dev/centos/root ..../ [100G]

問題は次のとおりです。

  • /homeが正しくマウントされているように見え、表示されたサイズです。df -h197Gです。
  • ただし、ルートのインストールが正しくありません。結果からdf -h下の寸法は/dev/xvda1に含まれる/boot7.8G そうです。しかし、サイズは/dev/mapper/centos-rootに含まれる/エラーは7.8Gを表示します。約100Gを表示する必要があります。次のディスク容量と同じディスク容量が正しく表示されません。/dev/xvda1

質問:

  • 参考のために、以下にいくつかの結果をまとめようとしました。この問題を解決するのに役立ちます。この問題を解決するにはどうすればよいですか?
  • また、xvda1に割り当てられたディスク容量を8Gから200Gに増やしたい場合は、より簡単で直接的な方法はありますか? Google検索でこれを見つけました。郵便はがきこれは非常に目標に適合します。ただし、grub画面に停止して正常に再起動できません。この失敗の詳細に関する情報はあまりありません。フォーマットなどの追加のディスク容量を割り当てるためにfdiskを使用するとき、いくつかの前提条件を設定していませんか?

私はこれに精通していません。助けてください。

システム初期状態:

# fdisk -l
Disk /dev/xvda: 536.9 GB, 536870912000 bytes 255 heads, 63 sectors/track, 65270 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000611ee
    Device      Boot    Start   End      Blocks   Id  System
    /dev/xvda1   *      1       1045     8387584   83  Linux
Disk /dev/xvdb: 32.2 GB, 32204390400 bytes 255 heads, 63 sectors/track, 3915 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000

# lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  500G  0 disk
└─xvda1 202:1    0    8G  0 part /
xvdb    202:16   0   30G  0 disk /mnt

# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      7.8G  897M  6.5G  12% /
tmpfs           3.6G     0  3.6G   0% /dev/shm
/dev/xvdb        30G  173M   28G   1% /mnt

# cat /etc/fstab
UUID=2d0f2d55-672b-4c05-8eba-9421dd808ad7 / ext4    defaults 1 1
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
/dev/xvdb       /mnt    auto    defaults,nofail,comment=cloudconfig     0 2

私が行ったステップ:

  • fdisk /dev/xvda ...(n > p = 2 > t = 8e)
  • 再起動
  • pvccreate /dev/xvda2
  • vgcreate centos /dev/xvda2
  • lvcreate -n home -L 200G セントース
  • lvcreate -n root -L 100G セントース
  • lvcreate -n swap -L 4Gポイント
  • mkfs.ext4 /dev/centos/root
  • mkfs.ext4 /dev/centos/home
  • mkswap /dev/centos/swap
  • マウント /dev/xvda1 /boot
    • …それが私がやりたかったが許されていないことでした。
    • だからマウントポイント/etc/fstabを。しかし、それも動作しません。/dev/xvda1//boot
      • 以下の結果はdf -h両方の正しいマウントポイントを示していますが、/dev/xvda1 i.e. /boot表示されている/dev/mapper/centos-root i.e. /ディスク容量/dev/mapper/centos-root = 7.8Gは正しくありません。私はそれを期待しています~100G
      • また、結果には空のlsblkマウントポイントが表示されますcentos-root (dm-1)。の場合、centos-root予想マウントポイント//dev/xvda1予想マウントポイントがあります/boot
  • マウント /dev/centos/root/
  • マウント /dev/centos/home /home
  • /etc/fstabに適切なエントリを作成します(cat /etc/fstab以下を参照)。
  • すぐに閉じます -r
  • mkhomedir_helper セントース
    • 再起動後、centosのホームディレクトリにアクセスできなくなり、「ホームディレクトリ/ home / centosのchdirを変更できませんでした:そのファイルまたはディレクトリがありません」というエラーが発生しました。この問題を解決するには、上記のコマンドを実行してユーザーcentosのホームディレクトリを再作成する必要がありました。

猫/etc/fstab

UUID=3a75c67b-5053-4863-963e-c6a572f13972       /       ext4    defaults        1 1
UUID=2d0f2d55-672b-4c05-8eba-9421dd808ad7       /boot   ext4    defaults        1 2
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
/dev/xvdb       /mnt    auto    defaults,nofail,comment=cloudconfig     0 2
/dev/mapper/centos-home         /home              ext4    defaults     0 0

fdisk -l

    Device Boot      Start         End      Blocks   Id  System
/dev/xvda1   *           1        1045     8387584   83  Linux
/dev/xvda2            1045       65270   515892667   8e  Linux LVM

df-h

Filesystem              Size  Used Avail Use%  Mounted on
/dev/mapper/centos-root 7.8G  898M  6.5G  12%  /
tmpfs                   3.6G     0  3.6G   0%  /dev/shm
/dev/xvda1              7.8G  898M  6.5G  12%  /boot
/dev/xvdb               30G   173M   28G   1%  /mnt
/dev/mapper/centos-home 197G   60M  187G   1%  /home

LSBLK

NAME                   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
xvda                   202:0    0  500G  0 disk
├─xvda1                202:1    0    8G  0 part /
└─xvda2                202:2    0  492G  0 part
  ├─centos-home (dm-0) 253:0    0  200G  0 lvm  /home
  ├─centos-root (dm-1) 253:1    0  100G  0 lvm
  └─centos-swap (dm-2) 253:2    0    4G  0 lvm
xvdb                   202:16   0   30G  0 disk /mnt

黒子

/dev/xvda1: UUID="2d0f2d55-672b-4c05-8eba-9421dd808ad7" TYPE="ext4"
/dev/xvdb: UUID="3656cb72-7e94-4e63-81ea-66397ad45d13" SEC_TYPE="ext2" TYPE="ext3"
/dev/xvda2: UUID="ASXeKh-x8xL-nDVF-afzq-zU8a-sCbd-qGM6pS" TYPE="LVM2_member"
/dev/mapper/centos-home: UUID="4510891a-354d-4486-bd47-95d474f197bb" TYPE="ext4"
/dev/mapper/centos-root: UUID="3a75c67b-5053-4863-963e-c6a572f13972" TYPE="ext4"
/dev/mapper/centos-swap: UUID="5dff9552-3d36-4cfa-936c-28e02c1ae108" TYPE="swap"

LVディスプレイ

  --- Logical volume ---
  LV Path                /dev/centos/home
  LV Name                home
  VG Name                centos
  LV UUID                lFWQxa-mqgc-Ur8t-npDc-O2NU-r6J4-UhC2j2
  LV Write Access        read/write
  LV Creation host, time ip-xx-xx-xx-xx.ec2.internal, 2018-06-16 07:18:22 +0000
  LV Status              available
  # open                 1
  LV Size                200.00 GiB
  Current LE             51200
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  LV UUID                UQ6oAD-JyRa-cb8l-VmgW-aZh9-qbof-Z1Z9af
  LV Write Access        read/write
  LV Creation host, time ip-xx-xx-xx-xx.ec2.internal, 2018-06-16 07:18:22 +0000
  LV Status              available
  # open                 0
  LV Size                100.00 GiB
  Current LE             25600
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1

  --- Logical volume ---
  LV Path                /dev/centos/swap
  LV Name                swap
  VG Name                centos
  LV UUID                QyY2z9-5EpX-D8dY-DORZ-9BbY-TqgA-07fc3X
  LV Write Access        read/write
  LV Creation host, time ip-xx-xx-xx-xx.ec2.internal, 2018-06-16 07:18:24 +0000
  LV Status              available
  # open                 0
  LV Size                4.00 GiB
  Current LE             1024
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2

ベストアンサー1

マウントしたいファイルシステム/boot()は実際にはあなたのものです。したがって、目的のマウントポイントにマウントしても、実際にマウントしたいのは内部ディレクトリであり、ファイルにディレクトリをマウントできないため、機能しません。システム。/dev/xvda1//boot/dev/xvda1

LVM論理ボリュームとファイルシステムを作成しましたが、/ここ/homeにデータを入れませんでした。既存のファイルシステムを新しいブロックデバイスに移行しませんでした。

また、GRUBは新しいファイルシステムについて知らないため、/ソースから起動しようとします/。以下は、これらの論理ボリュームの使用方法の概要です。

警告する

この手順を実行する前にバックアップを作成してください。状況が深刻に間違っている可能性があり、唯一の良い「元に戻すボタン」はバックアップです。

安全対策

  1. シングルユーザーモードで再起動します。ライブファイルシステムを複製するので、できるだけ少ないジョブしか実行したくありません。
  2. 現在のディレクトリを/ホームディレクトリのディレクトリと同じ新しい場所にバインドマウントします。
  3. また、ホームディレクトリに新しい論理ボリュームをマウントします//home
  4. /既存のファイルをコピーして/home新しい/論理ボリュームとして除外するには、バインドマウントを使用します。バインドマウントをコピー元として使用することが重要です。なぜなら、すべてが他のマウントされたファイルシステムをコピーするのを防ぐからです/
  5. 既存のボリュームを/home再バインドマウントを使用して新しい論理/homeボリュームにコピーします。
  6. 再起動してGRUBメニューが表示されたら、適切なカーネルエントリを選択して「e」を押します。編集モードに入ります。変数realrootの値になるように変数を追加/編集します/dev/mapper/centos-root。あなたのinitrdがLVMをサポートしているとします。次にEnterキーを押します。
  7. すべてが順調に進むと、システムはルート論理ボリュームから起動します。

安全でないステップ

これで、プロセスを元に戻すのが難しくなるいくつかのステップが始まります。状況はそうかもしれません本物問題が発生しました。ウォッカに従ってください(もちろん後者を記念して)、

  1. 古いものを/どこかにインストールしてください。
  2. 削除/boot
  3. /boot古いボリュームのディレクトリを/論理ボリュームの1つにコピーします。必要に応じてtmpfsにコピーすることもできます。これは、次の2つのステップの一時バックアップとしてのみ機能します。
  4. 戻ることができないポイントに達する:mkfs.ext4 /dev/xvda1。オペレーティングシステムはもはやそのまま起動しません。
  5. mount /dev/xvda1 /boot
  6. /boot手順3で作成したバックアップを入力します。
  7. ファイルシステムのUUIDを再確認/bootし、/etc/fstab必要に応じて更新してください。
  8. これでGRUB2を更新します。実行してgrub-mkconfig | less正しいブロックデバイスを選択していることを確認してください。realroot手動で追加したものと同じものを表示する必要があります。すべてが正常な場合は、実行してgrub-mkconfig -o /boot/grub/grub.cfg新しいGRUB設定を作成します。
  9. 再起動。 2つのうちの1つが発生します。システムが正常に起動またはブートされません。とにかく、ここがウォッカが登場するところです。

おすすめ記事