SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

PostgreSQLの冗長化について
PostgreSQLの冗長化についてPostgreSQLの冗長化について
PostgreSQLの冗長化についてSoudai Sone
 
インメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギインメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギMasaki Yamakawa
 
[KubeCon NA 2020] containerd: Rootless Containers 2020
[KubeCon NA 2020] containerd: Rootless Containers 2020[KubeCon NA 2020] containerd: Rootless Containers 2020
[KubeCon NA 2020] containerd: Rootless Containers 2020Akihiro Suda
 
Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版VirtualTech Japan Inc.
 
C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努Insight Technology, Inc.
 
OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001
OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001
OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001Takeshi Kuramochi
 
cluster-monitoringで困ったこと学んだこと
cluster-monitoringで困ったこと学んだことcluster-monitoringで困ったこと学んだこと
cluster-monitoringで困ったこと学んだことSachiho Wakita
 
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会Shigeru Hanada
 
Slurmのジョブスケジューリングと実装
Slurmのジョブスケジューリングと実装Slurmのジョブスケジューリングと実装
Slurmのジョブスケジューリングと実装Ryuichi Sakamoto
 
HandlerSocket plugin for MySQL
HandlerSocket plugin for MySQLHandlerSocket plugin for MySQL
HandlerSocket plugin for MySQLakirahiguchi
 
プログラマ目線から見たRDMAのメリットと その応用例について
プログラマ目線から見たRDMAのメリットとその応用例についてプログラマ目線から見たRDMAのメリットとその応用例について
プログラマ目線から見たRDMAのメリットと その応用例についてMasanori Itoh
 
LXD 採用から運用までの顛末記
LXD 採用から運用までの顛末記LXD 採用から運用までの顛末記
LXD 採用から運用までの顛末記digirock
 
VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! Vi...
VirtualBox と Rocky Linux 8 で始める Pacemaker  ~ VirtualBox でも STONITH 機能が試せる! Vi...VirtualBox と Rocky Linux 8 で始める Pacemaker  ~ VirtualBox でも STONITH 機能が試せる! Vi...
VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! Vi...ksk_ha
 
Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説貴仁 大和屋
 
Btrfsの基礎 part1 機能編
Btrfsの基礎 part1 機能編Btrfsの基礎 part1 機能編
Btrfsの基礎 part1 機能編fj_staoru_takeuchi
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjugYahoo!デベロッパーネットワーク
 
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリde:code 2017
 
僕のIntel nucが起動しないわけがない
僕のIntel nucが起動しないわけがない僕のIntel nucが起動しないわけがない
僕のIntel nucが起動しないわけがないTakuya ASADA
 
ログ+メトリック+トレースの組み合わせで構築する一元的なオブザーバビリティ
ログ+メトリック+トレースの組み合わせで構築する一元的なオブザーバビリティログ+メトリック+トレースの組み合わせで構築する一元的なオブザーバビリティ
ログ+メトリック+トレースの組み合わせで構築する一元的なオブザーバビリティElasticsearch
 

Was ist angesagt? (20)

PostgreSQLの冗長化について
PostgreSQLの冗長化についてPostgreSQLの冗長化について
PostgreSQLの冗長化について
 
インメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギインメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギ
 
ゆるバグ
ゆるバグゆるバグ
ゆるバグ
 
[KubeCon NA 2020] containerd: Rootless Containers 2020
[KubeCon NA 2020] containerd: Rootless Containers 2020[KubeCon NA 2020] containerd: Rootless Containers 2020
[KubeCon NA 2020] containerd: Rootless Containers 2020
 
Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版
 
C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努
 
OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001
OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001
OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001
 
cluster-monitoringで困ったこと学んだこと
cluster-monitoringで困ったこと学んだことcluster-monitoringで困ったこと学んだこと
cluster-monitoringで困ったこと学んだこと
 
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会
 
Slurmのジョブスケジューリングと実装
Slurmのジョブスケジューリングと実装Slurmのジョブスケジューリングと実装
Slurmのジョブスケジューリングと実装
 
HandlerSocket plugin for MySQL
HandlerSocket plugin for MySQLHandlerSocket plugin for MySQL
HandlerSocket plugin for MySQL
 
プログラマ目線から見たRDMAのメリットと その応用例について
プログラマ目線から見たRDMAのメリットとその応用例についてプログラマ目線から見たRDMAのメリットとその応用例について
プログラマ目線から見たRDMAのメリットと その応用例について
 
LXD 採用から運用までの顛末記
LXD 採用から運用までの顛末記LXD 採用から運用までの顛末記
LXD 採用から運用までの顛末記
 
VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! Vi...
VirtualBox と Rocky Linux 8 で始める Pacemaker  ~ VirtualBox でも STONITH 機能が試せる! Vi...VirtualBox と Rocky Linux 8 で始める Pacemaker  ~ VirtualBox でも STONITH 機能が試せる! Vi...
VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! Vi...
 
Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説
 
Btrfsの基礎 part1 機能編
Btrfsの基礎 part1 機能編Btrfsの基礎 part1 機能編
Btrfsの基礎 part1 機能編
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
 
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
 
僕のIntel nucが起動しないわけがない
僕のIntel nucが起動しないわけがない僕のIntel nucが起動しないわけがない
僕のIntel nucが起動しないわけがない
 
ログ+メトリック+トレースの組み合わせで構築する一元的なオブザーバビリティ
ログ+メトリック+トレースの組み合わせで構築する一元的なオブザーバビリティログ+メトリック+トレースの組み合わせで構築する一元的なオブザーバビリティ
ログ+メトリック+トレースの組み合わせで構築する一元的なオブザーバビリティ
 

Ähnlich wie Lvmを縮小してみた

Lxc cf201207-presen
Lxc cf201207-presenLxc cf201207-presen
Lxc cf201207-presenKouhei Maeda
 
Ubuntuで始めるコンテナ技術入門
Ubuntuで始めるコンテナ技術入門Ubuntuで始めるコンテナ技術入門
Ubuntuで始めるコンテナ技術入門Takenori Matsumoto
 
〜Apache Geode 入門 gfsh によるクラスター構築・管理
〜Apache Geode 入門 gfsh によるクラスター構築・管理〜Apache Geode 入門 gfsh によるクラスター構築・管理
〜Apache Geode 入門 gfsh によるクラスター構築・管理Akihiro Kitada
 
Osc2012 tokyo fall_home_san_nayamaguti
Osc2012 tokyo fall_home_san_nayamagutiOsc2012 tokyo fall_home_san_nayamaguti
Osc2012 tokyo fall_home_san_nayamagutiNoriyuki Yamaguchi
 
OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾外道 父
 
20190926_Try_RHEL8_NVMEoF_Beta
20190926_Try_RHEL8_NVMEoF_Beta20190926_Try_RHEL8_NVMEoF_Beta
20190926_Try_RHEL8_NVMEoF_BetaKohei KaiGai
 
IaaSクラウドを支える基礎技術 演習編_v1_0
IaaSクラウドを支える基礎技術 演習編_v1_0IaaSクラウドを支える基礎技術 演習編_v1_0
IaaSクラウドを支える基礎技術 演習編_v1_0Etsuji Nakai
 
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座Masahito Zembutsu
 
第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西Masahide Yamamoto
 
C/C++プログラマのための開発ツール
C/C++プログラマのための開発ツールC/C++プログラマのための開発ツール
C/C++プログラマのための開発ツールMITSUNARI Shigeo
 
GPD WINでStretchを動かす
GPD WINでStretchを動かすGPD WINでStretchを動かす
GPD WINでStretchを動かすYuma Ohgami
 
20180706_VxRailCC_ワークショップ編_NW
20180706_VxRailCC_ワークショップ編_NW20180706_VxRailCC_ワークショップ編_NW
20180706_VxRailCC_ワークショップ編_NWVxRail ChampionClub
 
OSC 2011 Hokkaido 自宅SAN友の会(後半)
OSC 2011 Hokkaido 自宅SAN友の会(後半)OSC 2011 Hokkaido 自宅SAN友の会(後半)
OSC 2011 Hokkaido 自宅SAN友の会(後半)Satoshi Shimazaki
 
GPGPUによるパーソナルスーパーコンピュータの可能性
GPGPUによるパーソナルスーパーコンピュータの可能性GPGPUによるパーソナルスーパーコンピュータの可能性
GPGPUによるパーソナルスーパーコンピュータの可能性Yusaku Watanabe
 

Ähnlich wie Lvmを縮小してみた (20)

KVM+cgroup
KVM+cgroupKVM+cgroup
KVM+cgroup
 
Lxc cf201207-presen
Lxc cf201207-presenLxc cf201207-presen
Lxc cf201207-presen
 
Ubuntuで始めるコンテナ技術入門
Ubuntuで始めるコンテナ技術入門Ubuntuで始めるコンテナ技術入門
Ubuntuで始めるコンテナ技術入門
 
Open VZ
Open VZOpen VZ
Open VZ
 
Openstack+Ceph設定ガイド
Openstack+Ceph設定ガイドOpenstack+Ceph設定ガイド
Openstack+Ceph設定ガイド
 
osoljp 2011.08
osoljp 2011.08osoljp 2011.08
osoljp 2011.08
 
〜Apache Geode 入門 gfsh によるクラスター構築・管理
〜Apache Geode 入門 gfsh によるクラスター構築・管理〜Apache Geode 入門 gfsh によるクラスター構築・管理
〜Apache Geode 入門 gfsh によるクラスター構築・管理
 
Osc2012 tokyo fall_home_san_nayamaguti
Osc2012 tokyo fall_home_san_nayamagutiOsc2012 tokyo fall_home_san_nayamaguti
Osc2012 tokyo fall_home_san_nayamaguti
 
Yesod on Heroku
Yesod on HerokuYesod on Heroku
Yesod on Heroku
 
OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾
 
20190926_Try_RHEL8_NVMEoF_Beta
20190926_Try_RHEL8_NVMEoF_Beta20190926_Try_RHEL8_NVMEoF_Beta
20190926_Try_RHEL8_NVMEoF_Beta
 
IaaSクラウドを支える基礎技術 演習編_v1_0
IaaSクラウドを支える基礎技術 演習編_v1_0IaaSクラウドを支える基礎技術 演習編_v1_0
IaaSクラウドを支える基礎技術 演習編_v1_0
 
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
 
第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西
 
C/C++プログラマのための開発ツール
C/C++プログラマのための開発ツールC/C++プログラマのための開発ツール
C/C++プログラマのための開発ツール
 
GPD WINでStretchを動かす
GPD WINでStretchを動かすGPD WINでStretchを動かす
GPD WINでStretchを動かす
 
Kernel fcache-bug
Kernel fcache-bugKernel fcache-bug
Kernel fcache-bug
 
20180706_VxRailCC_ワークショップ編_NW
20180706_VxRailCC_ワークショップ編_NW20180706_VxRailCC_ワークショップ編_NW
20180706_VxRailCC_ワークショップ編_NW
 
OSC 2011 Hokkaido 自宅SAN友の会(後半)
OSC 2011 Hokkaido 自宅SAN友の会(後半)OSC 2011 Hokkaido 自宅SAN友の会(後半)
OSC 2011 Hokkaido 自宅SAN友の会(後半)
 
GPGPUによるパーソナルスーパーコンピュータの可能性
GPGPUによるパーソナルスーパーコンピュータの可能性GPGPUによるパーソナルスーパーコンピュータの可能性
GPGPUによるパーソナルスーパーコンピュータの可能性
 

Mehr von koedoyoshida

Webcam reset-automation
Webcam reset-automationWebcam reset-automation
Webcam reset-automationkoedoyoshida
 
Inside PyCon JP 2016
Inside PyCon JP 2016Inside PyCon JP 2016
Inside PyCon JP 2016koedoyoshida
 
インフラエンジニアのためのプレゼン技術
インフラエンジニアのためのプレゼン技術インフラエンジニアのためのプレゼン技術
インフラエンジニアのためのプレゼン技術koedoyoshida
 
艦これタイマーシリーズご紹介
艦これタイマーシリーズご紹介艦これタイマーシリーズご紹介
艦これタイマーシリーズご紹介koedoyoshida
 
Pycon JP 2014の裏側
Pycon JP 2014の裏側Pycon JP 2014の裏側
Pycon JP 2014の裏側koedoyoshida
 
Indentとの戦い-艦これOSS便利ツールの紹介-
Indentとの戦い-艦これOSS便利ツールの紹介-Indentとの戦い-艦これOSS便利ツールの紹介-
Indentとの戦い-艦これOSS便利ツールの紹介-koedoyoshida
 
艦これタイマー for firefox addonの拡張
艦これタイマー for firefox addonの拡張艦これタイマー for firefox addonの拡張
艦これタイマー for firefox addonの拡張koedoyoshida
 
Hatohol introduction-20130830-hbstudy
Hatohol introduction-20130830-hbstudyHatohol introduction-20130830-hbstudy
Hatohol introduction-20130830-hbstudykoedoyoshida
 
Hatohol technical-brief-20130830-hbstudy
Hatohol technical-brief-20130830-hbstudyHatohol technical-brief-20130830-hbstudy
Hatohol technical-brief-20130830-hbstudykoedoyoshida
 
USB over RDP over SSH
USB over RDP over SSHUSB over RDP over SSH
USB over RDP over SSHkoedoyoshida
 
Monitでfirefoxを監視してみた
Monitでfirefoxを監視してみたMonitでfirefoxを監視してみた
Monitでfirefoxを監視してみたkoedoyoshida
 

Mehr von koedoyoshida (12)

Webcam reset-automation
Webcam reset-automationWebcam reset-automation
Webcam reset-automation
 
Inside PyCon JP 2016
Inside PyCon JP 2016Inside PyCon JP 2016
Inside PyCon JP 2016
 
インフラエンジニアのためのプレゼン技術
インフラエンジニアのためのプレゼン技術インフラエンジニアのためのプレゼン技術
インフラエンジニアのためのプレゼン技術
 
Dockerの準備
Dockerの準備Dockerの準備
Dockerの準備
 
艦これタイマーシリーズご紹介
艦これタイマーシリーズご紹介艦これタイマーシリーズご紹介
艦これタイマーシリーズご紹介
 
Pycon JP 2014の裏側
Pycon JP 2014の裏側Pycon JP 2014の裏側
Pycon JP 2014の裏側
 
Indentとの戦い-艦これOSS便利ツールの紹介-
Indentとの戦い-艦これOSS便利ツールの紹介-Indentとの戦い-艦これOSS便利ツールの紹介-
Indentとの戦い-艦これOSS便利ツールの紹介-
 
艦これタイマー for firefox addonの拡張
艦これタイマー for firefox addonの拡張艦これタイマー for firefox addonの拡張
艦これタイマー for firefox addonの拡張
 
Hatohol introduction-20130830-hbstudy
Hatohol introduction-20130830-hbstudyHatohol introduction-20130830-hbstudy
Hatohol introduction-20130830-hbstudy
 
Hatohol technical-brief-20130830-hbstudy
Hatohol technical-brief-20130830-hbstudyHatohol technical-brief-20130830-hbstudy
Hatohol technical-brief-20130830-hbstudy
 
USB over RDP over SSH
USB over RDP over SSHUSB over RDP over SSH
USB over RDP over SSH
 
Monitでfirefoxを監視してみた
Monitでfirefoxを監視してみたMonitでfirefoxを監視してみた
Monitでfirefoxを監視してみた
 

Kürzlich hochgeladen

デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 

Kürzlich hochgeladen (8)

デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 

Lvmを縮小してみた

  • 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