[转]How to build a data storage and VM Server using comodity hardware and free software
Source: http://learnandremember.blogspot.jp/2010_01_01_archive.html
Requisites:
1) RAID protection for data
We'll use ZFS as filesystem. RAIDZ is somewhat akin to RAID5 and should provide better performance than other types of software RAID5 with several advantages that we'll discuss later.
2) UPS power outage protection
UPSes are expensive, and we're keeping our costs down. ZFS RAIDZ works eleminates the RAID5 loophole. This won't replace an UPS for all it is needed for, but we'll greatly improve the odds of not data corruption for files directly stored on the ZFS filesystem in the event of sudden power loss.
3) Controlled costs
ZFS is available on Linux trough xxxxx or natively in Open Solaris. Both cost zilch and can be used professionaly without costs.
Because cost is a factor, storage host and VM host should be the same hardware so direct access to hard disks by VM should be supported.
4) Ease of use and management and multiple OS virtualization ability
Even if setup is not a walk in the park, usage and maintnance should be easy. Also the virtualization environment should allow for windows, linux, solaris and as many of other OSes as possbible. This means Vmware, Xen Server, or xxxxx.
At the time i bought the parts to build the computer i did not buy a motherboard + cpu combination that allowed for direct hardware access using vmware as Intel Directed I/O is needed. Alas, one must go around this. In fact going around is cheaper.
Hardware used:
- Asus P5Q3 motherboard
- Intel Quad Core Q9550 cpu
- 8gb DDR3
- 4x 1TB HDD
- 1x 80gb old HDD (original plan was to use 16gb USB pen, but was unable to create a datastore on a USB pen.)
- Power supply, silent box, fanless cpu cooler.
The plan:
1) Install VMWARE 4.0 ESXi on the bare metal.
1.1) Install VMWARE 4.0 ESXi to the 80 GB HDD
2) Install Open Solaris 2009.06
OpenSolaris is being prefered to linux zfs support because of performance. I have read everywere about how much peformance is lost so we'll stick to linux. However, on the Open Solaris side, there is no paracirtualization support in VMWARE ESXi and as far as i can tell, no support for VMNET3 virtual NIC, so i don't really know wich one is better, but have bet on Open Solaris anyway.
Moving on.
2.1) Create VM to install Open Solaris into
First create a new virtual machine. 1 GB RAM should be enough and i don't see the advantage of more than 1 cpu, performance wise. No need for a large hard drive, too, 5gb should be enough as the only job for OpenSolaris will be to run the ZFS filesystem, and to offer an ISCSI target for ESXi to connect to and eventually offer shares for access to files stored.
2.2) Installation itself
No special requirements for installing. Just next, next, next, answering the several queries should be fairly easy.
2.3) Installing VMWARE Tools on OpenSolaris 2009.06
There are no vmware tools available for Open Solaris. However the package available for Solaris 10 should do fine, with some modifications.
unzip the vmware tools:
gunzip vmware-solaris-tools.tar.gz
untar the vmware tools:
tar -xf vmware-solaris-tools.tar
now, execute the installer:
./vmware-install.pl
Just press enter on every query.
you will get an error:
Unable to copy the source file
/user/lib/vmware-tools/configurator/XOrg/7.4/vmware_drv.so to the destination
file /usr/X11/lib/modules/drivers/vmware_drv.so
what you need to do is the following:
mkdir /usr/lib/vmware-tools/configurator/XOrg/7.4
cp /usr/lib/vmware-tools/configurator/XOrg/7.1/* /usr/lib/vmware-tools/configurator/XOrg/7.4
then re-execute the installer:
./vmware-install.pl
Again, just press enter on any query.
Now, VMWARE Tools should be installed. This will add improvements to performance.
Next, restart Open Solaris.
Voilá, open solaris is now installed, with VMware Tools loaded. Nice.
=======
补充:安装 vmware tools 时,如上提到的 7.4 中缺少相关文件,从7.6中提取。
[转]How to build a data storage and VM Server using comodity hardware and free software的更多相关文章
- Data storage on the batch layer
4.1 Storage requirements for the master dataset To determine the requirements for data storage, you ...
- 增长中的时间序列存储(Scaling Time Series Data Storage) - Part I
本文摘译自 Netflix TechBlog : Scaling Time Series Data Storage - Part I 重点:扩容.缓存.冷热分区.分块. 时序数据 - 会员观看历史 N ...
- 解决Window Azure: Failed to start Development Storage: the SQL Server instance ‘localhost\SQLExpress’ could not be found.
运行Window Arzure 项目,报如下错误: Windows Azure Tools: Failed to initialize Windows Azure storage emulator. ...
- Top 10 steps to optimize data access in SQL Server
2009年04月28日 Top 10 steps to optimize data access in SQL Server: Part I (use indexing) 2009年06月01日 To ...
- .NET Compact Framework Data Provider for SQL Server CE
.NET Compact Framework Data Provider for SQL Server Mobile Standard Data Source=MyData.sdf;Persist S ...
- [Docker] Build a Simple Node.js Web Server with Docker
Learn how to build a simple Node.js web server with Docker. In this lesson, we'll create a Dockerfil ...
- Microsoft: Get started with Dynamic Data Masking in SQL Server 2016 and Azure SQL
Dynamic Data Masking (DDM) is a new security feature in Microsoft SQL Server 2016 and Azure SQL DB. ...
- 《Pro SQL Server Internals, 2nd edition》的CHAPTER 1 Data Storage Internals中的Data Pages and Data Rows(翻译)
数据页和数据行 数据库中的空间被划分为逻辑8KB的页面.这些页面是以0开始的连续编号,并且可以通过指定文件ID和页号来引用它们.页面编号都是连续的,这样当SQL Server增长数据库文件时,从文件中 ...
- Tuning 14 Using Oracle Data Storage Structures Efficiently
90% 是Heap table Cluster 集群表, index-organized table: 就是把索引和表 和二为一了. partitioned table:表非常大, 逻辑上是一个大表, ...
随机推荐
- 【淡墨Unity3D Shader计划】四 热带雨林的文章: 排除、深度测试、Alpha测试和基本雾编译
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://hpw123.net/a/C__/kongzhitaichengxu/2014/1222/163.html 作者:毛星云 ...
- 【Socket计划】使用C++实现Server结束Client结束
我是在Visual Stdio 2013两人的建立project.编译如下两个人main文件,然后测试 服务器:Server.cpp #include <WINSOCK2.H> #incl ...
- UVA 10139 Factovisors(数论)
Factovisors The factorial function, n! is defined thus for n a non-negative integer: 0! = 1 n! = n * ...
- linux 虚拟文件系统
转自:https://www.ibm.com/developerworks/cn/linux/l-cn-vfs/ Linux 允许众多不同的文件系统共存,并支持跨文件系统的文件操作,这是因为有虚拟文件 ...
- Keil中使用Astyel进行C语言的格式化
Astyel !E --style=linux --delete-empty-lines --indent=spaces=2 --break-blocks 这可以做到, 使用Linux风格的代码 ) ...
- TCP/UDP差异
首先,它 TCP是面向连接的.有序可靠的协议,然后UDP同TCP相对,那张脸无序连接不可靠的协议. 首先,为什么TCP它是面向连接的.由TCP如果传输是需要进行三次握手,这是client为了服务发送数 ...
- Spring Resource之内置的Resource实现
Spring提供了大量的并且可以直接使用的Resource实现 1.UrlResource UrlResource封装了一个java.net.URL,而且可以通过一个URL用于访问任何对象,例如文件. ...
- python购物淫秽数据分析(2)
淘宝大数据的游戏,我重新提高自己的思维方式, 插件和代码前前后后写在六个版本,但最好的结果其实是我的第一次2第二码.这让我很惊讶, 但它也说明了一个问题.当你更熟悉的语言,当一方,你缺少的是其他的知识 ...
- 我的CSS 入门1
CSS(Cascading Style Sheets)级联样式表.我现在所知的,她的存在能够更好的管理多个HTML文件,或者是为了使得网页设计更为丰富多彩,“简单可依赖”. 如果你对HTML一无所知, ...
- SVN服务器搭建(2)
转自:http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2407979.html 上一篇介绍了VisualSVN Server和Tortois ...