スポンサーリンク

このドキュメントの内容は、以下の通りです。

はじめに

仮想化技術の発展で、サーバの集約が進み、コストダウンが図られるようになりました。その仮想化技術を支える技術の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 は削除されました

スポンサーリンク
スポンサーリンク
 
いつもシェア、ありがとうございます!


もっと情報を探しませんか?

関連記事

最近の記事

人気のページ

スポンサーリンク
 

過去ログ

2020 : 01 02 03 04 05 06 07 08 09 10 11 12
2019 : 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

サイト

Vim入門

C言語入門

C++入門

JavaScript/Node.js入門

Python入門

FreeBSD入門

Ubuntu入門

セキュリティ入門

パソコン自作入門

ブログ

トップ


プライバシーポリシー