LVMを縮小してみた

  吉田@板橋
   2009/8/8
背景
• 某rpm系ディストリビューションをデフォルトで
  インストールするとハードディスクがLVMで構
  成される




                            2
LVMの利点
•   http://ja.wikipedia.org/wiki/論理ボリュームマネージャ

•   複数PVによるボリュームグループ上に、1つのPVを超えるような論理ボリューム
    (LV) を作成し、扱う事が可能となる。
•   ディスク管理上の上限である7パーティション を超えた数の論理ボリューム (LV) を
    作成可能となる。
•   論理ボリューム (LV) の動的拡張・縮小が可能となる。
      – 当然のことながら、LVの上に構築されるファイルシステムが動的拡張・縮小を
         サポートしていない場合、ファイルシステムの拡張・縮小や再構成のために
         システム停止が必要となる。
•   物理ボリュームの追加による論理ボリュームの拡張性の維持が可能。
      – 但し、ハードウェアの構成やOSの対応によっては、物理ボリュームの追加時
         にシステム停止が必要となる。
•   ソフトウェアミラーやソフトウェアによるストライピングが可能。


                                                3
LVMで構築済のシステムに
         別OSを入れたい
• Disk初期化して再インストール
  – 既存システムを消したくない→×
• Gparted
  – 起動オプションでLVMのボリュームを与えることは
    可能
  – PVの縮小が出来ない→×
• e2fsadm
  – LVM1(kernel2.4)用のツール
  – 現在LVM2(Kernel2.6)用には無さそう→×

                                 4
LVMと関連要素
 •   物理ディスク
 •   パーティション
 •   PV(Physical Volume)
 •   VG(Volume Group)
 •   LV(Logical Volume)
 •   ファイルシステム
物理ディスク(/dev/sda)
 /dev/sda1 /dev/sda2
                               LV Name:    LV Name:
 (/boot)   PV Name: /dev/sda2
                               LogVol00    LogVol01
           VG Name: VolGroup00
                                ファイルシステム   swap
                                ext3:/

                                                      5
ググってみた(1)
• ディスクの拡張をしている事例は多いが、縮
  小している事例は少ない
• http://d.hatena.ne.jp/jbking/20061213/p1
  物理LVMパーティションを縮小(Shrink)したい。

  LVやPVを縮めるんじゃなくてパーティション自体を縮めたい!!!
  結論:無理。

  現時点ではfdiskでパーティション削除&作成方法しかないみたい。最新の
  GNU Parted(ver.1.8.1)も対応してない。なのでもちろんGPartedもQtPartedも
  駄目。唯一、WinHEXを使ってパーティションテーブルを書き換えた人がいた
  が、素人にはお薦めできない。
  http://www.linuxquestions.org/questions//showthread.php?p=2524620#post
  2524620
                                                                           6
ググってみた(2)
• http://pantora.net/pages/linux/lvm/3/
  – 平さんのページ

 ファイルシステムのリサイズ
 Linuxで一般的に使われているLinux ext2、Linux ext3、ReiserFSなどの
 ファイルシステムは、(リサイズ機能を)すでにサポートしています。


 LVのリサイズ
   LVのサイズは変更することができます。拡大も縮小も行なえます。


 PVのリサイズ
  Fedora Core 5 以降、Red Hat Enterprise Linux 4 Update 4 以降から
 PV をオンラインでリサイズする pvresize コマンドが新しく加わりました。
 もしもLUNのオンラインリサイズを行えるストレージ(/dev/sdb)をお使
 いの場合、PVのリサイズを行うことが可 能です。                                     7
リサイズ実施
•   事前準備
•   ライブCDで起動
     – マウントしないでディスク操作をする必要が有る
     – そもそも空きパーティションが無い
•   今回はUbuntu9.04を使用
# aptitude install lvm2

•   synapticでuniverseリポジトリを追加後、system-config-lvmを追加インストール
     – ubuntu8.10のsystem-config-lvmは起動時にクラッシュして使えず。

# aptitude update
# aptitude install system-config-lvm

    – universeリポジトリ: Debian (等)から持ってきたubuntu用パッケージ集


                                                       8
初期状態
• 初期状態
   – 60GBのディスクに某ディストリビューションがデフォルトインストール
# fdisk -l /dev/sda
デバイス ブート            始点          終点      ブロック       Id システム
/dev/sda1 *            63      208844      104391 83 Linux
/dev/sda2          208845 117210239      58500697+ 8e Linux LVM
# pvscan
  PV /dev/sda2 VG VolGroup00 lvm2 [55.78 GB / 32.00 MB free]
  Total: 1 [55.78 GB] / in use: 1 [55.78 GB] / in no VG: 0 [0 ]
# vgscan
/dev/sda2
  Found volume group "VolGroup00" using metadata type lvm2
# lvscan
  INACTIVE            '/dev/VolGroup00/LogVol00' [53.81 GB] inherit
  INACTIVE            '/dev/VolGroup00/LogVol01' [1.94 GB] inherit




                                                                      9
初期状態(2) OS起動状態
 # cat /etc/fstab
 /dev/VolGroup00/LogVol00 /                     ext3     defaults      1 1
 LABEL=/boot             /boot                 ext3     defaults      1 2
 /dev/VolGroup00/LogVol01 swap                  swap     defaults      0 0

 # df
  Filesystem    Type 1K-blocks      Used Available Use% Mounted on
 /dev/mapper/VolGroup00-LogVol00
               ext3    54690180 4217448 47649772 9% /

 # cat /proc/meminfo | grep SwapTotal
 SwapTotal:     2031608 kB

• 1 GiB = 230 B = 1,073,741,824 B / 1 MiB = 220 B = 1,048,576 B
    – http://ja.wikipedia.org/wiki/ギビバイト
 物理ディスク(/dev/sda):60GB≒55.9GiB
  /dev/sda1     /dev/sda2
  ext3:         PV Name: /dev/sda2  LV Name: LogVol00       LV Name:LogVol01
  /boot:        VG Name: VolGroup00 53.81GiB
                                                            1.94GiB
  100MiB        55.78GiB             ファイルシステム                swap
                                     ext3:/:52.16GiB         1.94GiB
                                                                               10
ファイルシステム(/)をリサイズ
  • ファイルシステムチェック
  # e2fsck -f /dev/VolGroup00/LogVol00
  e2fsck 1.41.4 (27-Jan-2009)
  /dev/VolGroup00/LogVol00: ***** FILE SYSTEM WAS MODIFIED *****
  /dev/VolGroup00/LogVol00: 189222/14123008 files (0.5% non-
  contiguous), 1497076/14114816 blocks

  •   リサイズ実行
# resize2fs /dev/mapper/VolGroup00-LogVol00 10240M
resize2fs 1.41.4 (27-Jan-2009)
Resizing the filesystem on /dev/mapper/VolGroup00-LogVol00
to 2621440 (4k) blocks.
The filesystem on /dev/mapper/VolGroup00-LogVol00 is now 2621440 blocks long.
物理ディスク(/dev/sda):60GB≒55.9GiB
 /dev/sda1    /dev/sda2
 ext3:        PV Name: /dev/sda2  LV Name: LogVol00   LV Name:LogVol01
 /boot:       VG Name: VolGroup00 53.81GiB
                                                      1.94GiB
 100MiB       55.78GiB             ファイルシステム            swap
                                   ext3:/:10GiB        1.94GiB
                                                                         11
LVをリサイズ
 # lvreduce -L 11G /dev/VolGroup00/LogVol00
   WARNING: Reducing active logical volume to 11.00 GB
   THIS MAY DESTROY YOUR DATA (filesystem etc.)
 Do you really want to reduce LogVol00? [y/n]: y
   Reducing logical volume LogVol00 to 11.00 GB
   Logical volume LogVol00 successfully resized




物理ディスク(/dev/sda):60GB≒55.9GiB
 /dev/sda1   /dev/sda2
 ext3:       PV Name: /dev/sda2  LV Name: LogVol00   LV Name:LogVol01
 /boot:      VG Name: VolGroup00 11GiB
                                                     1.94GiB
 100MiB      55.78GiB             ファイルシステム            swap
                                  ext3:/:10GiB        1.94GiB
                                                                        12
PVをリサイズ(1)
 # pvresize --setphysicalvolumesize 10240M /dev/sda2 /dev/sda2:
 cannot resize to 1151 extents as later ones are allocated. 0
 physical volume(s) resized / 1 physical volume(s) not resized
 •   失敗




物理ディスク(/dev/sda):60GB≒55.9GiB
 /dev/sda1   /dev/sda2
 ext3:       PV Name: /dev/sda2
             /dev/sda2           LV Name: LogVol00   LV Name:LogVol01
 /boot:      VG Name: /dev/sda2
             PV Name: VolGroup00 11GiB
                                                     1.94GiB
 100MiB      55.78GiB VolGroup00 ファイルシステム
             VG Name:
             55.78GiB                                 swap
                                  ext3:/:10GiB        1.94GiB
                                                                        13
system-config-lvmで
       実際の状態を確認




• 原因:末尾にSwap用の領域(LogVol01)がある
                            14
おもむろにswapを消す
 •   本来は末尾のLVを消すのではなく、別のディスクを用意して
 •   そこにpvmoveで移動するのが筋のようだ
 •   http://www.itmedia.co.jp/enterprise/0308/08/epn01.html
 •   http://michilu.com/blog/posts/40/
 •   が、時間がかかるので省略。
 # lvremove /dev/VolGroup00/LogVol01
 Do you really want to remove active logical volume "LogVol01"?
 [y/n]: y
   Logical volume "LogVol01" successfully removed

物理ディスク(/dev/sda):60GB≒55.9GiB
 /dev/sda1    /dev/sda2
 ext3:        PV Name: /dev/sda2  LV Name: LogVol00   LV Name:LogVol01
 /boot:       VG Name: VolGroup00 11GiB
                                                      1.94GiB
 100MiB       55.78GiB             ファイルシステム            swap
                                   ext3:/:10GiB        1.94GiB
                                                                         15
PVをリサイズ(2)
 # pvresize --setphysicalvolumesize 11G /dev/sda2
   /dev/sda2: cannot resize to 351 extents as 352 are allocated.
   0 physical volume(s) resized / 1 physical volume(s) not
 resized
 •   失敗、領域が微妙に足りない?
 # pvresize --setphysicalvolumesize 11264M /dev/sda2
   Physical volume "/dev/sda2" changed
   1 physical volume(s) resized / 0 physical volume(s) not
 resized
 •   MB単位で指定して、成功

物理ディスク(/dev/sda):60GB≒55.9GiB
 /dev/sda1   /dev/sda2
 ext3:       PV Name: /dev/sda2  LV Name: LogVol00
 /boot:      VG Name: VolGroup00 11GiB
 100MiB      11GiB                ファイルシステム
                                  ext3:/:10GiB
                                                               16
パーティションの再確保(1)
• fdiskで領域を切り直す
# fdisk /dev/sda

コマンド (m でヘルプ): p

ディスク /dev/sda: 60.0 GB, 60011642880 バイト
ヘッド 255, セクタ 63, シリンダ 7296
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
Disk identifier: 0x0078f6c1

デバイス ブート           始点     終点     ブロック      Id システム
/dev/sda1 *          1      13     104391   83 Linux
/dev/sda2           14    7296   58500697+ 8e Linux
LVM




                                                       17
パーティションの再確保(2)
コマンド (m でヘルプ): d
領域番号 (1-4): 2

コマンド (m でヘルプ): n
コマンドアクション
   e 拡張
   p 基本領域 (1-4)
p
領域番号 (1-4): 2
最初 シリンダ (14-7296, 初期値 14):
初期値 14 を使います
Last シリンダ, +シリンダ数 or +size{K,M,G} (14-7296, 初期値
7296): +12G
物理ディスク(/dev/sda):60GB≒55.9GiB
 /dev/sda1    /dev/sda2:12GiB
 ext3:        PV Name: /dev/sda2  LV Name: LogVol00
 /boot:       VG Name: VolGroup00 11GiB
 100MiB       11GiB                ファイルシステム
                                   ext3:/:10GiB
                                                      18
パーティションの再確保(3)
コマンド (m でヘルプ): p

ディスク /dev/sda: 60.0 GB, 60011642880 バイト
ヘッド 255, セクタ 63, シリンダ 7296
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
Disk identifier: 0x0078f6c1

デバイス ブート        始点        終点     ブロック        Id システム
/dev/sda1 *       1         13     104391     83 Linux
/dev/sda2        14       1581   12594960     83 Linux

コマンド (m でヘルプ): w
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。

警告: 領域テーブルの再読込みがエラー 16 で失敗しました: Device or
resource busy。
カーネルはまだ古いテーブルを使っています。
新しいテーブルは次回リブート時に使えるようになるでしょう。
ディスクを同期させます。
                                                         19
空き領域に別OSのインストール
  •   新規パーティション(例:/dev/sda3)に/を確保
       – swapも単独パーティションに確保
       – grubは新規パーティション(例:/dev/sda3)先頭にインストール
  •   インストール完了後、元インストールされていたOS上で
       – fstabでswap設定
       – /boot/grub/menu.lstの設定
           • 別OSがLinuxの場合:(例/dev/sda3)上の/boot/grub/menu.lstを参
             考に追記
           • またはチェインロードの設定をする
物理ディスク(/dev/sda)
/dev/sda1   /dev/sda2:12GiB                /dev/sda3   /dev/sda5   /dev/sda6,
ext3:        PV : /dev/sda2 LV :LogVol00   別OSの/       swap:       /dev/sda7..
/boot:       VG :            11GiB                     共通使用        さらに別OS
100MiB       VolGroup00
                              ext3:/:
             11GiB            10GiB
                                                                          20
例
# cat /etc/fstab
/dev/VolGroup00/LogVol00 /             ext3    defaults       1 1
LABEL=/boot              /boot         ext3    defaults       1 2
#/dev/VolGroup00/LogVol01 swap         swap    defaults      0 0
/dev/sda5 swap                      swap    defaults      0 0

/boot/grub/menu.lst追加例
title HogeLinux Grub (2.6.xx)
       root (hd0,2)
       chainloader +1

title HogeLinux (2.6.xx)
       root (hd0,2)
       kernel /boot/vmlinuz-2.6.xx ro root=LABEL=/
       initrd /boot/initrd-2.6.xx.img



                                                               21
参考

•   平さんのページ
     – http://pantora.net/pages/linux/lvm/3/
•   system-config-lvm
     – http://www.atmarkit.co.jp/flinux/rensai/linuxtips/a090configlvm.html
•   物理LVMパーティションのリサイズ
     – http://d.hatena.ne.jp/jbking/20061213/p1
•   LVM関連コマンドのman




                                                                          22

Lvmを縮小してみた

  • 1.
  • 2.
    背景 • 某rpm系ディストリビューションをデフォルトで インストールするとハードディスクがLVMで構 成される 2
  • 3.
    LVMの利点 • http://ja.wikipedia.org/wiki/論理ボリュームマネージャ • 複数PVによるボリュームグループ上に、1つのPVを超えるような論理ボリューム (LV) を作成し、扱う事が可能となる。 • ディスク管理上の上限である7パーティション を超えた数の論理ボリューム (LV) を 作成可能となる。 • 論理ボリューム (LV) の動的拡張・縮小が可能となる。 – 当然のことながら、LVの上に構築されるファイルシステムが動的拡張・縮小を サポートしていない場合、ファイルシステムの拡張・縮小や再構成のために システム停止が必要となる。 • 物理ボリュームの追加による論理ボリュームの拡張性の維持が可能。 – 但し、ハードウェアの構成やOSの対応によっては、物理ボリュームの追加時 にシステム停止が必要となる。 • ソフトウェアミラーやソフトウェアによるストライピングが可能。 3
  • 4.
    LVMで構築済のシステムに 別OSを入れたい • Disk初期化して再インストール – 既存システムを消したくない→× • Gparted – 起動オプションでLVMのボリュームを与えることは 可能 – PVの縮小が出来ない→× • e2fsadm – LVM1(kernel2.4)用のツール – 現在LVM2(Kernel2.6)用には無さそう→× 4
  • 5.
    LVMと関連要素 • 物理ディスク • パーティション • PV(Physical Volume) • VG(Volume Group) • LV(Logical Volume) • ファイルシステム 物理ディスク(/dev/sda) /dev/sda1 /dev/sda2 LV Name: LV Name: (/boot) PV Name: /dev/sda2 LogVol00 LogVol01 VG Name: VolGroup00 ファイルシステム swap ext3:/ 5
  • 6.
    ググってみた(1) • ディスクの拡張をしている事例は多いが、縮 小している事例は少ない • http://d.hatena.ne.jp/jbking/20061213/p1 物理LVMパーティションを縮小(Shrink)したい。 LVやPVを縮めるんじゃなくてパーティション自体を縮めたい!!! 結論:無理。 現時点ではfdiskでパーティション削除&作成方法しかないみたい。最新の GNU Parted(ver.1.8.1)も対応してない。なのでもちろんGPartedもQtPartedも 駄目。唯一、WinHEXを使ってパーティションテーブルを書き換えた人がいた が、素人にはお薦めできない。 http://www.linuxquestions.org/questions//showthread.php?p=2524620#post 2524620 6
  • 7.
    ググってみた(2) • http://pantora.net/pages/linux/lvm/3/ – 平さんのページ ファイルシステムのリサイズ Linuxで一般的に使われているLinux ext2、Linux ext3、ReiserFSなどの ファイルシステムは、(リサイズ機能を)すでにサポートしています。 LVのリサイズ LVのサイズは変更することができます。拡大も縮小も行なえます。 PVのリサイズ Fedora Core 5 以降、Red Hat Enterprise Linux 4 Update 4 以降から PV をオンラインでリサイズする pvresize コマンドが新しく加わりました。 もしもLUNのオンラインリサイズを行えるストレージ(/dev/sdb)をお使 いの場合、PVのリサイズを行うことが可 能です。 7
  • 8.
    リサイズ実施 • 事前準備 • ライブCDで起動 – マウントしないでディスク操作をする必要が有る – そもそも空きパーティションが無い • 今回はUbuntu9.04を使用 # aptitude install lvm2 • synapticでuniverseリポジトリを追加後、system-config-lvmを追加インストール – ubuntu8.10のsystem-config-lvmは起動時にクラッシュして使えず。 # aptitude update # aptitude install system-config-lvm – universeリポジトリ: Debian (等)から持ってきたubuntu用パッケージ集 8
  • 9.
    初期状態 • 初期状態 – 60GBのディスクに某ディストリビューションがデフォルトインストール # fdisk -l /dev/sda デバイス ブート 始点 終点 ブロック Id システム /dev/sda1 * 63 208844 104391 83 Linux /dev/sda2 208845 117210239 58500697+ 8e Linux LVM # pvscan PV /dev/sda2 VG VolGroup00 lvm2 [55.78 GB / 32.00 MB free] Total: 1 [55.78 GB] / in use: 1 [55.78 GB] / in no VG: 0 [0 ] # vgscan /dev/sda2 Found volume group "VolGroup00" using metadata type lvm2 # lvscan INACTIVE '/dev/VolGroup00/LogVol00' [53.81 GB] inherit INACTIVE '/dev/VolGroup00/LogVol01' [1.94 GB] inherit 9
  • 10.
    初期状態(2) OS起動状態 #cat /etc/fstab /dev/VolGroup00/LogVol00 / ext3 defaults 1 1 LABEL=/boot /boot ext3 defaults 1 2 /dev/VolGroup00/LogVol01 swap swap defaults 0 0 # df Filesystem Type 1K-blocks Used Available Use% Mounted on /dev/mapper/VolGroup00-LogVol00 ext3 54690180 4217448 47649772 9% / # cat /proc/meminfo | grep SwapTotal SwapTotal: 2031608 kB • 1 GiB = 230 B = 1,073,741,824 B / 1 MiB = 220 B = 1,048,576 B – http://ja.wikipedia.org/wiki/ギビバイト 物理ディスク(/dev/sda):60GB≒55.9GiB /dev/sda1 /dev/sda2 ext3: PV Name: /dev/sda2 LV Name: LogVol00 LV Name:LogVol01 /boot: VG Name: VolGroup00 53.81GiB 1.94GiB 100MiB 55.78GiB ファイルシステム swap ext3:/:52.16GiB 1.94GiB 10
  • 11.
    ファイルシステム(/)をリサイズ •ファイルシステムチェック # e2fsck -f /dev/VolGroup00/LogVol00 e2fsck 1.41.4 (27-Jan-2009) /dev/VolGroup00/LogVol00: ***** FILE SYSTEM WAS MODIFIED ***** /dev/VolGroup00/LogVol00: 189222/14123008 files (0.5% non- contiguous), 1497076/14114816 blocks • リサイズ実行 # resize2fs /dev/mapper/VolGroup00-LogVol00 10240M resize2fs 1.41.4 (27-Jan-2009) Resizing the filesystem on /dev/mapper/VolGroup00-LogVol00 to 2621440 (4k) blocks. The filesystem on /dev/mapper/VolGroup00-LogVol00 is now 2621440 blocks long. 物理ディスク(/dev/sda):60GB≒55.9GiB /dev/sda1 /dev/sda2 ext3: PV Name: /dev/sda2 LV Name: LogVol00 LV Name:LogVol01 /boot: VG Name: VolGroup00 53.81GiB 1.94GiB 100MiB 55.78GiB ファイルシステム swap ext3:/:10GiB 1.94GiB 11
  • 12.
    LVをリサイズ # lvreduce-L 11G /dev/VolGroup00/LogVol00 WARNING: Reducing active logical volume to 11.00 GB THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce LogVol00? [y/n]: y Reducing logical volume LogVol00 to 11.00 GB Logical volume LogVol00 successfully resized 物理ディスク(/dev/sda):60GB≒55.9GiB /dev/sda1 /dev/sda2 ext3: PV Name: /dev/sda2 LV Name: LogVol00 LV Name:LogVol01 /boot: VG Name: VolGroup00 11GiB 1.94GiB 100MiB 55.78GiB ファイルシステム swap ext3:/:10GiB 1.94GiB 12
  • 13.
    PVをリサイズ(1) # pvresize--setphysicalvolumesize 10240M /dev/sda2 /dev/sda2: cannot resize to 1151 extents as later ones are allocated. 0 physical volume(s) resized / 1 physical volume(s) not resized • 失敗 物理ディスク(/dev/sda):60GB≒55.9GiB /dev/sda1 /dev/sda2 ext3: PV Name: /dev/sda2 /dev/sda2 LV Name: LogVol00 LV Name:LogVol01 /boot: VG Name: /dev/sda2 PV Name: VolGroup00 11GiB 1.94GiB 100MiB 55.78GiB VolGroup00 ファイルシステム VG Name: 55.78GiB swap ext3:/:10GiB 1.94GiB 13
  • 14.
    system-config-lvmで 実際の状態を確認 • 原因:末尾にSwap用の領域(LogVol01)がある 14
  • 15.
    おもむろにswapを消す • 本来は末尾のLVを消すのではなく、別のディスクを用意して • そこにpvmoveで移動するのが筋のようだ • http://www.itmedia.co.jp/enterprise/0308/08/epn01.html • http://michilu.com/blog/posts/40/ • が、時間がかかるので省略。 # lvremove /dev/VolGroup00/LogVol01 Do you really want to remove active logical volume "LogVol01"? [y/n]: y Logical volume "LogVol01" successfully removed 物理ディスク(/dev/sda):60GB≒55.9GiB /dev/sda1 /dev/sda2 ext3: PV Name: /dev/sda2 LV Name: LogVol00 LV Name:LogVol01 /boot: VG Name: VolGroup00 11GiB 1.94GiB 100MiB 55.78GiB ファイルシステム swap ext3:/:10GiB 1.94GiB 15
  • 16.
    PVをリサイズ(2) # pvresize--setphysicalvolumesize 11G /dev/sda2 /dev/sda2: cannot resize to 351 extents as 352 are allocated. 0 physical volume(s) resized / 1 physical volume(s) not resized • 失敗、領域が微妙に足りない? # pvresize --setphysicalvolumesize 11264M /dev/sda2 Physical volume "/dev/sda2" changed 1 physical volume(s) resized / 0 physical volume(s) not resized • MB単位で指定して、成功 物理ディスク(/dev/sda):60GB≒55.9GiB /dev/sda1 /dev/sda2 ext3: PV Name: /dev/sda2 LV Name: LogVol00 /boot: VG Name: VolGroup00 11GiB 100MiB 11GiB ファイルシステム ext3:/:10GiB 16
  • 17.
    パーティションの再確保(1) • fdiskで領域を切り直す # fdisk/dev/sda コマンド (m でヘルプ): p ディスク /dev/sda: 60.0 GB, 60011642880 バイト ヘッド 255, セクタ 63, シリンダ 7296 Units = シリンダ数 of 16065 * 512 = 8225280 バイト Disk identifier: 0x0078f6c1 デバイス ブート 始点 終点 ブロック Id システム /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 7296 58500697+ 8e Linux LVM 17
  • 18.
    パーティションの再確保(2) コマンド (m でヘルプ):d 領域番号 (1-4): 2 コマンド (m でヘルプ): n コマンドアクション e 拡張 p 基本領域 (1-4) p 領域番号 (1-4): 2 最初 シリンダ (14-7296, 初期値 14): 初期値 14 を使います Last シリンダ, +シリンダ数 or +size{K,M,G} (14-7296, 初期値 7296): +12G 物理ディスク(/dev/sda):60GB≒55.9GiB /dev/sda1 /dev/sda2:12GiB ext3: PV Name: /dev/sda2 LV Name: LogVol00 /boot: VG Name: VolGroup00 11GiB 100MiB 11GiB ファイルシステム ext3:/:10GiB 18
  • 19.
    パーティションの再確保(3) コマンド (m でヘルプ):p ディスク /dev/sda: 60.0 GB, 60011642880 バイト ヘッド 255, セクタ 63, シリンダ 7296 Units = シリンダ数 of 16065 * 512 = 8225280 バイト Disk identifier: 0x0078f6c1 デバイス ブート 始点 終点 ブロック Id システム /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 1581 12594960 83 Linux コマンド (m でヘルプ): w 領域テーブルは交換されました! ioctl() を呼び出して領域テーブルを再読込みします。 警告: 領域テーブルの再読込みがエラー 16 で失敗しました: Device or resource busy。 カーネルはまだ古いテーブルを使っています。 新しいテーブルは次回リブート時に使えるようになるでしょう。 ディスクを同期させます。 19
  • 20.
    空き領域に別OSのインストール • 新規パーティション(例:/dev/sda3)に/を確保 – swapも単独パーティションに確保 – grubは新規パーティション(例:/dev/sda3)先頭にインストール • インストール完了後、元インストールされていたOS上で – fstabでswap設定 – /boot/grub/menu.lstの設定 • 別OSがLinuxの場合:(例/dev/sda3)上の/boot/grub/menu.lstを参 考に追記 • またはチェインロードの設定をする 物理ディスク(/dev/sda) /dev/sda1 /dev/sda2:12GiB /dev/sda3 /dev/sda5 /dev/sda6, ext3: PV : /dev/sda2 LV :LogVol00 別OSの/ swap: /dev/sda7.. /boot: VG : 11GiB 共通使用 さらに別OS 100MiB VolGroup00 ext3:/: 11GiB 10GiB 20
  • 21.
    例 # cat /etc/fstab /dev/VolGroup00/LogVol00/ ext3 defaults 1 1 LABEL=/boot /boot ext3 defaults 1 2 #/dev/VolGroup00/LogVol01 swap swap defaults 0 0 /dev/sda5 swap swap defaults 0 0 /boot/grub/menu.lst追加例 title HogeLinux Grub (2.6.xx) root (hd0,2) chainloader +1 title HogeLinux (2.6.xx) root (hd0,2) kernel /boot/vmlinuz-2.6.xx ro root=LABEL=/ initrd /boot/initrd-2.6.xx.img 21
  • 22.
    参考 • 平さんのページ – http://pantora.net/pages/linux/lvm/3/ • system-config-lvm – http://www.atmarkit.co.jp/flinux/rensai/linuxtips/a090configlvm.html • 物理LVMパーティションのリサイズ – http://d.hatena.ne.jp/jbking/20061213/p1 • LVM関連コマンドのman 22