Memo/Linux/LVM

https://dexlab.net:443/pukiwiki/index.php?Memo/Linux/LVM
 

LVM


HDDの交換


CentOS5.5 LVMで動的にHDD追加

  • VMware上でテスト。CentOS5.5 32bit。LVMで8GBある
    fdisk -l
    
    Disk /dev/sda: 8589 MB, 8589934592 bytes
    255 heads, 63 sectors/track, 1044 cylinders
    Units = シリンダ数 of 16065 * 512 = 8225280 bytes
    
    デバイス Boot      Start         End      Bloc-c 4ks   Id  System
    /dev/sda1   *           1          13      104391   83  Linux
    /dev/sda2              14        1044     8281507+  8e  Linux LVM
    
    vgdisplay
      --- Volume group ---
      VG Name               VolGroup00
      System ID             
      Format                lvm2
      Metadata Areas        1
      Metadata Sequence No  3
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                2
      Open LV               2
      Max PV                0
      Cur PV                1
      Act PV                1
      VG Size               7.88 GB
      PE Size '+%s'         32.00 MB
      Total PE              252
      Alloc PE / Size       252 / 7.88 GB
      Free  PE / Size       0 / 0   
      VG UUID               IfcQgR-qwZB-EJI0-rObI-Puxr-5ywL-RiWPoA
    
    lvscan
      ACTIVE            '/dev/VolGroup00/LogVol00' [5.88 GB] inherit
      ACTIVE            '/dev/VolGroup00/LogVol01' [2.00 GB] inherit
  • 8GB を追加してみる。VMware上で8GBのHDDを追加して、Linuxを再起動
    # fdisk -l
    
    Disk /dev/sda: 8589 MB, 8589934592 bytes
    255 heads, 63 sectors/track, 1044 cylinders
    Units = シリンダ数 of 16065 * 512 = 8225280 bytes
    
    デバイス Boot      Start         End      Blocks   Id  System
    /dev/sda1   *           1          13      104391   83  Linux
    /dev/sda2              14        1044     8281507+  8e  Linux LVM
    
    Disk /dev/sdb: 8589 MB, 8589934592 bytes
    255 heads, 63 sectors/track, 1044 cylinders
    Units = シリンダ数 of 16065 * 512 = 8225280 bytes
    
    ディスク /dev/sdb は正常な領域テーブルを含んでいません
  • /dev/sdb が追加されたので、LVMパーティションの作成
    fdisk /dev/sdb
    コマンド (m でヘルプ): n
    コマンドアクション
       e   拡張
       p   基本領域 (1-4)
    p
    領域番号 (1-4): 1
    最初 シリンダ (1-1044, default 1): エンター
    終点 シリンダ または +サイズ または +サイズM または +サイズK (1-1044, default 1044): エンター
    
    コマンド (m でヘルプ): p
    
    Disk /dev/sdb: 8589 MB, 8589934592 bytes
    255 heads, 63 sectors/track, 1044 cylinders
    Units = シリンダ数 of 16065 * 512 = 8225280 bytes
    
    デバイス Boot      Start         End      Blocks   Id  System
    /dev/sdb1               1        1044     8385898+  83  Linux
    
    コマンド (m でヘルプ): t
    Selected partition 1
    16進数コード (L コマンドでコードリスト表示): 8e
    コマンド (m でヘルプ): w
    
    # sfdisk -l /dev/sdb
    
    ディスク /dev/sdb: シリンダ数 1044、ヘッド数 25563 セクタ/トラック
    ユニット = 8225280 バイトのシリンダ、1024 バイトのブロック、0 から数えます
    
       Device Boot Start     End   #cyls    #blocks   Id  System
    /dev/sdb1          0+   1043    1044-   8385898+  8e  Linux LVM
    /dev/sdb2          0       -       0          0    0/dev/sdb3          0       -       0          0    0/dev/sdb4          0       -       0          0    0
  • Physical volume作成
    pvcreate /dev/sdb1
      Physical volume "/dev/sdb1" successfully created
  • VolGroup00に physical volume を追加
    vgextend VolGroup00 /dev/sdb1
  • 確認
    pvscan
      PV /dev/sda2   VG VolGroup00   lvm2 [7.88 GB / 0    free]
      PV /dev/sdb1   VG VolGroup00   lvm2 [7.97 GB / 7.97 GB free]
  • 論理ボリュームの拡張。VolGroup00の「Free PE / Size」が0になるまで拡張する
    lvextend  -l+100%FREE /dev/VolGroup00/LogVol00
  • アンマウントせずにファイルシステムを拡張
    df -h
    Filesystem          サイズ  使用  残り 使用% マウント位置
    /dev/mapper/VolGroup00-LogVol00
                          5.7G  1.5G  4.0G  28% /
    /dev/sda1              99M   12M   82M  13% /boot
    tmpfs                 506M     0  506M   0% /dev/shm
    
    fsckしろと言われた場合は、e2fsckを行う
    e2fsck -f /dev/mapper/VolGroup00-LogVol00
    
    resize2fs /dev/mapper/VolGroup00-LogVol00
  • 確認
    # df -h
    Filesystem          サイズ  使用  残り 使用% マウント位置
    /dev/mapper/VolGroup00-LogVol00
                           14G  1.5G   12G  12% /
    /dev/sda1              99M   12M   82M  13% /boot
    tmpfs                 506M     0  506M   0% /dev/shm
  • 再起動したり、巨大ファイルを作ったりして正常にアクセスできるか確認
    reboot
    
    dd if=/dev/zero of=file.tmp bs=1M count=8192

CentOS5.5のLVMが壊れた場合の修復

  • Lxubuntu 10.04を起動。ユーザ名:lxubuntu パスワード:なし。アクセサリ -> ターミナルを開く
  • lvm2のインストール
    sudo apt-get install lvm2
  • 該当のチェック
    sudo lvscan
    ACTIVE '/dev/VolGroup00/LogVol00' [xx.xx GB] inherit
    ACTIVE '/dev/VolGroup00/LogVol01' [xx.xx GB] inherit
    
    sudo vgchange -ay VolGroup00
  • 修復
    sudo fsck -y /dev/VolGroup00/LogVol00
    
    フルチェック(-f エラーが無くてもチェック)
    sudo fsck -y -f /dev/VolGroup00/LogVol00

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-09-15 (土) 07:31:38 (94d)