CentOS KVMのディスクイメージの場所を追加する
スポンサーリンク
このドキュメントの内容は、以下の通りです。
はじめに
仮想化技術の発展で、サーバの集約が進み、コストダウンが図られるようになりました。その仮想化技術を支える技術の1つが Linux で使われる KVM であると思います。 KVM を利用しているときに、悩みの種になるのが、ストレージ不足ではないでしょうか?仮想ディスクのサイズが大きくなってしまった、大容量の仮想ディスクがたくさんある、というような状況において、仮想ディスクをおいておくストレージがあふれてしまい、困ることがあるのではないでしょうか?仮想ディスクのために、足りなくなったディスクスペースの解決方法について解説します。
ストレージは足りなくなる
スマートフォンで写真をバシバシ撮影していたら、スマホのストレージがいっぱいになってしまった、という経験はありませんか?スマホにたくさんのアプリをインストールしたら、ストレージがいっぱいになってしまって、アプリがインストールできなくなってしまった、ということはありませんか?コンピューターやスマホといった電子機器は、データを入れていくと、そのうちストレージがいっぱいになってしまいます。パソコンやサーバであれば、ストレージを大容量のストレージに買い換えたり、ストレージを追加するといったことが可能です。スマホの場合は、マイクロSDカードのスロットがあれば、マイクロSDを追加することもできますが、マイクロSDなどのストレージを追加するところがなければ、より大容量の本体に買い換える必要があります。
Linux や FreeBSD などの Unix では、データの処理をしていく過程でや最終成果物としてできあがる巨大なファイルだったり、アプリケーションのインストールやソースコードのダウンロード、仮想マシンの作成などで、どんどんストレージを消費していきます。たびたび困ったことになるのが、ルートファイルシステムのサイズです。
仮想マシンを作成する場合、何十ギガバイトといった単位で、ストレージを消費していきます。複数の仮想マシンを作る場合、仮想マシンの台数分、ストレージを消費していくでしょう。
OS をインストールするときに、ルートファイルシステムのサイズを適当に設定してしまうと、あとあと、容量不足で悩む、といった事態に直面します。OSをインストールするときは、まだ、どれだけ何に必要になるか、見積もりができていないこともあるので、致し方ないと思いますが、私自身はよく困っています。
KVMの仮想ディスクイメージの置き場所は?
ファイルシステムがいつのまにかいっぱいになってしまいました。調査をした結果、 ルートファイルシステムのサイズがあまり大きくなったので、 KVM用のストレージが足りないことがわかりました。
KVM のデフォルトの 仮想ディスクイメージの置き場所は /var/lib/libvirt/imagesです。
ディスクイメージの置き場所の追加方法を考える
ディスクイメージの置き場所を追加する方法は、いろいろあると思います。考えられるケースをいくつか列挙します。
1. 別の大きなストレージがあるなら、ルートファイルシステムのサイズを大きくする
2. もしあるなら、別のストレージや別のパーティションを /var/lib/libvirt/images にマウントする
3. もしあるなら、別のストレージや別のパーティションにディスクイメージを置く
1番の方法は、おそらく面倒なので、やりたくないのではないかと思います。そうすると、手軽なのが、2か3だと思います。2は、mountコマンドだけで完了できるので簡単ではないかと思います。ここでは、3の方法でやってみます。
KVMの仮想ディスクイメージの置き場所の追加を行う
KVM で仮想マシンを作成して、仮想ディスクイメージを作成すると、 /var/lib/libvirt/images にイメージファイルが作成されていきます。 ルートファイルシステムがあまり大きくないため、 /var/lib/libvirt/images にあまり大きなディスクイメージが置けないため、KVM 用に新しいストレージの保管場所を作りました。CentOS の KVM のストレージの設定は、以下の xmlです。
cat /etc/libvirt/storage/default.xml
KVM のディスクイメージは、 /var/lib/libvirt/imagesに保存されます。
sh-4.1# virsh pool-list 名前 状態 自動起動 ----------------------------------------- default 動作中 yes
ディスクイメージの場所を追加するために disk1.xml を作ります。
cd /etc/libvirt/storage/ cp default.xml disk1.xml
ディスクイメージのパスは、 path のタグの中に定義します。 今回は、 /work/vm とします。
<pool type='dir'> <name>disk1</name> <uuid>9ff66810-fedd-0cb8-ce4d-0be11930456e</uuid> <capacity>0</capacity> <allocation>0</allocation> <available>0</available> <source> </source> <target> <path>/work/vm</path> <permissions> <mode>0700</mode> <owner>-1</owner> <group>-1</group> </permissions> </target> </pool>
virsh コマンドで作成した disk1.xml を読み込ませます。
# virsh pool-define /etc/libvirt/storage/disk1.xml プール disk1 が /etc/libvirt/storage/disk1.xml から定義されました
virsh で pool した情報を表示します。
# virsh pool-info disk1 名前: disk1 UUID: 9ff66810-fedd-0cb8-ce4d-0be11930456e 状態: 停止状態 Persistent: yes 自動起動: no
virsh コマンドで disk1 をスタートします。
# virsh pool-start disk1 プール disk1 が起動されました
pool-list で動作中のプールを確認できます。
# virsh pool-list 名前 状態 自動起動 ----------------------------------------- default 動作中 yes disk1 動作中 no
disk1 を自動起動できるようにします。
# virsh pool-autostart disk1 プール disk1 が自動起動としてマークされました
# virsh pool-list 名前 状態 自動起動 ----------------------------------------- default 動作中 yes
default を削除してみます。
# virsh pool-destroy default プール default は破壊されました # virsh pool-delete default プール default は削除されました
スポンサーリンク
スポンサーリンク
いつもシェア、ありがとうございます!
もっと情報を探しませんか?
関連記事
最近の記事
- パナソニック ジェットウォッシャードルツ EW-DJ61-Wのホースの修理
- LinuxセキュリティモジュールIntegrity Policy Enforcement
- アマゾンのEcho Show 5を買ったのでレビューします
- アマゾンのサイバーマンデーはAlexa Echo Show 5が安い
- Android スマートフォン OnePlus 7T と OnePlus 7の違い
- Android スマートフォン OnePlus 7 をAndroid10にアップデートしてみた
- クレジットカードのバーチャルカードの比較のまとめ
- 活動量計 Xiaomi Mi Band 4を買ってみたのでレビュー
- Android スマートフォン OnePlus 7 のレビュー
- AliExpressでスマートフォンを買い物してみた
- パソコンのホコリ対策 レンジフードフィルターと養生テープ
- 80PLUS GOLDのPC電源ユニットAntec NeoEco 750 Goldのレビュー
- イギリスの付加価値税 VAT は払い戻しを受けられる
- イギリスのロンドンでスーツケースなど荷物を預けられる場所は
- イギリスのロンドンで地下鉄やバスに乗るならオイスターカードを使おう
- イギリスのヒースロー空港からロンドン市内への行き方
- 航空便でほかの航空会社に乗り継ぎがある場合のオンラインチェックイン
- SFC会員がANA便ではなくベトナム航空のコードシェアを試して解ったこと
- ベトナムの入国審査でeチケットの掲示が必要だった話
- シアトルの交通ICカードはオルカカード(Orca)です
人気のページ
- Windows7 IME 辞書ツールで単語の登録に失敗しました
- C言語 popen()でコマンドを実行して出力を読み込む
- Windows7で休止状態にする方法
- CentOS MySQLの起動、停止、再起動
- loggerコマンドでsyslogにエラーを出力する方法
- パソコンパーツの買取をしてくれる店のまとめ
- Java Mapの使い方 get(),put(),remove(),size(),clear()
- 楽天のRポイントカードを作ってみた
- iPhone 5 から iPhone 6 に乗り換えたのでレビュー
- netstatコマンドのステータスの意味
スポンサーリンク
過去ログ
2020 : 01 02 03 04 05 06 07 08 09 10 11 122019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12