lvextend は RHEL 6 でルートを拡張します。

lvextend は RHEL 6 でルートを拡張します。

データを処理するサーバーがあり、次のエラーが発生し始めました。

write error: no space left on device
cannot create temp file for here-document: no space left on device

基本的なオペレーティングシステムとしてUbuntu 14.04を使用していますが、ファイルシステムを管理するのは理解しにくいので、この質問をします。

df -h 

印刷

Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                       99G   94G   16M 100% /
/dev/sda2             477M   39M  413M   9% /boot
/dev/sda1             200M  264K  200M   1% /boot/efi
/dev/mapper/VolGroup-lv_home
                      1.5T  453G  996G  32% /home
shmfs                  30G     0   30G   0% /dev/shm
shmfs                  30G     0   30G   0% /dev/shm
shmfs                  30G     0   30G   0% /dev/shm

明らかに私のlv_rootに残っているスペースはあまりありません。私は走った

df -i

Filesystem              Inodes  IUsed     IFree IUse% Mounted on
/dev/mapper/VolGroup-lv_root
                       6553600 143617   6409983    3% /
/dev/sda2               128016     22    127994    1% /boot
/dev/sda1                    0      0         0     - /boot/efi
/dev/mapper/VolGroup-lv_home
                     101588992  44952 101544040    1% /home
shmfs                  4085528      1   4085527    1% /dev/shm
shmfs                  4085528      1   4085527    1% /dev/shm
shmfs                  4085528      1   4085527    1% /dev/shm

これはまだ空き容量が多いことを意味します(正しく理解したかどうかはわかりません)。

ファイルを削除しようとしましたが、/var/logファイルサイズが大きすぎないため、何も起こりませんでした。lvextend私はVolGroupのサイズを増やすことができることを読んで考えましたlv_root

sudo lvs --segments

私にください

LV      VG       Attr       #Str Type   SSize  
  lv_home VolGroup -wi-ao----    1 linear   1.36t
  lv_home VolGroup -wi-ao----    1 linear 157.78g
  lv_root VolGroup -wi-ao----    1 linear 100.00g
  lv_swap VolGroup -wi-ao----    1 linear  20.00g

sudo vgdisplay VolGroup

私にください

 VG Name               VolGroup
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               1.63 TiB
  PE Size               4.00 MiB
  Total PE              427545
  Alloc PE / Size       427545 / 1.63 TiB
  Free  PE / Size       0 / 0   

すべてのパーティションが同じボリュームグループ名を共有し、VolGroup VGサイズが1.63TiBであることを確認した後、lv_rootスペースを400Gib増やしました。

sudo lvextend -L +400G /dev/mapper/VolGroup-lv_root

しかし、このエラーメッセージが出ました。

Insufficient free space: 102400 extents needed, but only 0 available

40Gには同じメッセージの異なる範囲が必要です。

サーバーのOSはRHEL 6で、Oracle DBに入力されたデータを処理しています。

ベストアンサー1

私はあなたの質問に答えようとします。これが最初の質問です。

明らかに私のlv_rootに残っているスペースはあまりありません。私は走った

[...]

これはまだ空き容量が多いことを意味します(正しく理解したかどうかはわかりません)。

したがって、ルートにマウントされたlv_rootボリュームには余分なスペースがありません。 16 MB は残りますが、/home マウントされたボリューム (lv_home) にはほぼ 1 TB を使用できます。 「-i」スイッチを使用した2番目のコマンドは、実際には残りのスペースの量ではなく、残りのスペースの量を意味します。インデックスノードディスクに空き容量が足りないと、「デバイスに空きがありません」というメッセージが表示されることがありますが、ここでは問題ありません。

次の号はここにあります:

すべてのパーティションが同じボリュームグループ名を共有し、VolGroupとVGのサイズが1.63TiBであることを知り、lv_rootスペースを400Gib増やしました。

VGサイズは1.63TBですが、vgdisplayコマンドの最後の行から返されたように、これらのスペースはすべて現在割り当てられているため、LVに400GBを割り当てることはできません。

**無料PE/サイズ0/0**

lvs --segments コマンドで空間の実際の再分割を確認できます。

  • lv_homeに1.36TBを割り当てる
  • lv_homeにも157.78GBが割り当てられます。
  • lv_rootに100GBが割り当てられ、ほとんど使い果たされました
  • スワップ領域に20GBを割り当てる

これで問題を解決するために、次のことができます(少なくとも私が考えた解決策がすべての解決策を意味するわけではありません)。

  1. 試行したファイルを削除して、/mountの空き容量を解放してください。
  2. /mountを/homeに移動して、いくつかのスペースを解放します。
  3. マシンに新しいディスクを追加し、新しいPVを作成し、パーティションのサイズを変更する前にVGを展開してからLVを展開します(注:ignacioの説明を更新するように編集されています)。
  4. VMと仮定すると、ディスクを拡張してから、すべての基本PV、VG、LVなどを拡張できます。

おすすめ記事