<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>StarPlatinum.jp &#187; VMWare</title>
	<atom:link href="http://www.starplatinum.jp/categories/serverenv/vmware/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.starplatinum.jp</link>
	<description>Successor of www.bflets.dyndns.org</description>
	<lastBuildDate>Sat, 21 Jan 2012 15:58:13 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>肥大した仮想ディスクの圧縮</title>
		<link>http://www.starplatinum.jp/serverenv/vmware/vmshrink/</link>
		<comments>http://www.starplatinum.jp/serverenv/vmware/vmshrink/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 04:09:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[VMWare]]></category>

		<guid isPermaLink="false">http://www.starplatinum.jp/?p=53</guid>
		<description><![CDATA[このページを配信しているサーバはVMWare上で動作していますが、サーバ機器の更改時に、実利用量に対する仮想ディスクのサイズがやたら大きいことに気がつきました。調べてみると、仮想ディスクのサイズは基本的に肥大化する一方で [...] [...]
Related posts:<ol>
<li><a href='http://www.starplatinum.jp/wordpress/install_php-5-2-4/' rel='bookmark' title='Cent OS 5.6にPHP 5.2.4を導入'>Cent OS 5.6にPHP 5.2.4を導入</a></li>
<li><a href='http://www.starplatinum.jp/serverenv/vps/wordpressinst/' rel='bookmark' title='WebkeepersのVPSにWordPressを導入'>WebkeepersのVPSにWordPressを導入</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>このページを配信しているサーバはVMWare上で動作していますが、サーバ機器の更改時に、実利用量に対する仮想ディスクのサイズがやたら大きいことに気がつきました。調べてみると、仮想ディスクのサイズは基本的に肥大化する一方で、仮想ディスク内の利用量を減らしたとしても、仮想ディスクのサイズは小さくならないとの事。</p>
<p>最近のHDD容量の増大スピードは尋常ではないので、通常であれば多少のディスクの無駄使いは問題にならないのですが、今回はサーバ機器更改に伴ってストレージがSSDになるので、数GBと言えども貴重なスペースです。</p>
<p>VMWare謹製ツールであるVMWare Toolsが導入されていれば、基本的にこちらを利用すればいいのですが(<a href="http://pc.watanet.com/?p=342">解説ページ</a>)、実際に利用してみると、CentOSをデフォルト設定でインストールすると採用されるLVM(Logical Volume Manager)では利用できないようでした。</p>
<p><span id="more-53"></span></p>
<p>更に調べてみたところ、vmshrinkというツールがありました。<br />
公式なツールではありませんが、実際に利用してみたところ問題なく利用でき、仮想ディスクのサイズも半分くらいになって大助かりでした。ちなみに管理人の環境は、以下の通りです。<br />
・OS : Windows Server 2008 R2 (x64)<br />
・VMWare : VMWare Server 2.0.1<br />
・仮想OS : CentOS 5.3 (x86)</p>
<p>まずは、<a href="http://chitchat.at.infoseek.co.jp/vmware/vmtoolsj.html">仮想な背中</a>からファイルをダウンロードします。<br />
UNIXであればvmw-060510.tar.gzをダウンロードすれば良いでしょう。<br />
ファイルを展開すると、こんな状態になります。</p>
<blockquote><p>[root@www vmw]# ls<br />
DOS          OpenBSD-3.8      Windows         vmshrink-eucj.txt  vmw.txt<br />
FreeBSD-6.0  README-eucj.TXT  src             vmshrink-sjis.txt<br />
Linux-FC4    README-sjis.TXT  vmftp-eucj.txt  vmshrink.txt<br />
Minix-3.1.1  README.TXT       vmftp-sjis.txt  vmw-eucj.txt<br />
NetBSD-3.0   Solaris-10       vmftp.txt       vmw-sjis.txt</p></blockquote>
<p>OSの名前のディレクトリには、コンパイル済みのバイナリが格納されています。<br />
今回のターゲットはCentOS 5.3なので、強いて選ぶならばLinux-FC4ですが、念のためソースからコンパイルします。make一発で通りました。</p>
<blockquote><p>[root@www vmw]# cd src<br />
[root@www src]# make<br />
Making &#8216;all&#8217; for Linux (Makefile.Linux)<br />
make[1]: ディレクトリ `/root/vmw/src&#8217; に入ります<br />
gcc -O2 -DHAVE_STDINT_H -DHAVE_CLOCK_SETTIME -DHAVE_SIGLONGJMP -DHAVE_NANOSLEEP -DHAVE_ICONV_H -c vmw.c -o vmw.o<br />
gcc -O2 -DHAVE_STDINT_H -DHAVE_CLOCK_SETTIME -DHAVE_SIGLONGJMP -DHAVE_NANOSLEEP -DHAVE_ICONV_H -c vmtool.c -o vmtool.o<br />
gcc -O2 -DHAVE_STDINT_H -DHAVE_CLOCK_SETTIME -DHAVE_SIGLONGJMP -DHAVE_NANOSLEEP -DHAVE_ICONV_H -c termutil.c -o termutil.o<br />
as  vmcall.gas.s -o vmcall.gas.o<br />
gcc  vmw.o vmtool.o termutil.o vmcall.gas.o -lrt -o vmw<br />
gcc -O2 -DHAVE_STDINT_H -DHAVE_CLOCK_SETTIME -DHAVE_SIGLONGJMP -DHAVE_NANOSLEEP -DHAVE_ICONV_H -c vmshrink.c -o vmshrink.o<br />
gcc  vmshrink.o vmtool.o termutil.o vmcall.gas.o  -o vmshrink<br />
gcc -O2 -DHAVE_STDINT_H -DHAVE_CLOCK_SETTIME -DHAVE_SIGLONGJMP -DHAVE_NANOSLEEP -DHAVE_ICONV_H -c vmftp.c -o vmftp.o<br />
gcc -O2 -DHAVE_STDINT_H -DHAVE_CLOCK_SETTIME -DHAVE_SIGLONGJMP -DHAVE_NANOSLEEP -DHAVE_ICONV_H -c vmshf.c -o vmshf.o<br />
gcc  vmftp.o vmshf.o vmtool.o vmcall.gas.o   -o vmftp<br />
make[1]: ディレクトリ `/root/vmw/src&#8217; から出ます</p></blockquote>
<p>vmshrinkのバイナリが出来るので、おもむろにそれを実行。引数は不要です。</p>
<blockquote><p>[root@www src]# ./vmshrink<br />
Wiping free space on / (43435 / 47550 MB free).<br />
43387 / 43435 MB complete (C: cancel / S: skip)<br />
Wiping free space on /boot (63 / 98 MB free).<br />
62 / 63 MB complete (C: cancel / S: skip)<br />
Complete</p></blockquote>
<p>これだけで、仮想ディスクのサイズが実利用量にかなり近づくはずです。<br />
メンテ時に実施してみてはいかがでしょうか。</p>
<p>Related posts:<ol>
<li><a href='http://www.starplatinum.jp/wordpress/install_php-5-2-4/' rel='bookmark' title='Cent OS 5.6にPHP 5.2.4を導入'>Cent OS 5.6にPHP 5.2.4を導入</a></li>
<li><a href='http://www.starplatinum.jp/serverenv/vps/wordpressinst/' rel='bookmark' title='WebkeepersのVPSにWordPressを導入'>WebkeepersのVPSにWordPressを導入</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.starplatinum.jp/serverenv/vmware/vmshrink/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

