StorageIOblog » Blog Archive » Should Everything Be Virtualized?

The Server Storage IO Groupのアナリストが書いているブログ「StorageIOblog」に、「Should Everything Be Virtualized?」(すべては仮想化されるべきなのか?)というエントリがポストされました。

すべてのサーバ、I/O、ストレージは仮想化されるべきなのか? という問いに答えるエントリになっています。

Unfortunately consolidation is commonly misunderstood to be the sole function or value proposition of server virtualization given its first wave focus. I agree that not all applications or servers should be consolidated (note that I did not say virtualized).


著者のGreg Schulz氏は、エントリをこのように切り出しています。先回りして彼の結論を書いてしまうと、この文に表れているように、サーバ統合をしない場合でもサーバを仮想化することにはメリットがある、物理サーバ1台に対して仮想マシンを1台しか稼働させない場合でも仮想化にはメリットがある、だからサーバ仮想化は積極的にするべきだ、との主張です。

todays current wave or focus is around maximizing the number of VMs and/or the reduction of physical machines to reduce capital and operating costs for under-utilized applications and servers, thus the move to stuff as many VMs into/onto a PM as possible.



there is still a benefit of having a VM dedicated to a PM. For example, by dedicating a PM (blade, server or perhaps core) allows performance and QoS objectives to be meet while still providing the ability for operational and infrastructure resource management (IRM) flexibility and agility.


(一部略)Meanwhile during busy periods, the application for example a database server could have its own PM, yet during off-hours, some over VM could be moved onto that PM for backup or other IRM activities. Likewise, by having the VM under the database with a dedicated PM, the application could be moved proactively for maintenance or in a clustered HA scenario support BC/DR.




Hey sysadmins, quit trying to virtualize everything! - SQL Server with Mr. Denny

一方で、仮想化仮想化とうるさいシステム管理者よだまれ! と一喝するのが、「IT Knowledge Exchange」に投稿された「Hey sysadmins, quit trying to virtualize everything!」(システム管理者よ、全部を仮想化するなんてやめてくれ!)というエントリ。

著者のDenny Cherry氏は、SQL Serverなどデータベースに深い経験を持っているとのこと。

The problem here is that SQL Server (same goes for Oracle, MySQL, DB2, etc) is very different that applications which run on other servers. Databases love memory, they eat it up like its candy. There's a reason for this. Its so that they don't have to hit the disk all the time reading data. We want all the data stored up in the buffer pool (might be called something else on other platforms).

問題は、SQL Serverやその他のデータベースはちょっと特殊だということ。データベースはメモリ食いだ。なぜかといえば、データを読み込むときにいちいちディスクへアクセスしないようにだ。すべてのデータはバッファプール(あるいはほかの呼び方)にあったほうが(アクセスが速くて)よい。



my production OLTP database (the database that services our customers via our website) usually has 3-4 IO going to each of the 4 LUNs that the database sits on. However when the database checkpoints there's easily 3-4k IOs going to each of the disks (that's 12-16k IOs at one time being written to the disks). Putting that sort of disk load into a virtual environment would cause a large amount of queuing to happen when the database flushes.




Now don't get me wrong, smaller database servers can be virtualized without much of an issue. I've got a smaller SQL Server running our Shopping Cart, Ticketing system, Microsoft CRM, and BlackBerry Enterprise Server all running in a single VM with 4 Gigs of RAM, and 2 vCPUs and it's cranking along without issue.




follow us in feedly


Blogger in Chief

photo of jniino

Junichi Niino(jniino)

Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed