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的更多相关文章

  1. Data storage on the batch layer

    4.1 Storage requirements for the master dataset To determine the requirements for data storage, you ...

  2. 增长中的时间序列存储(Scaling Time Series Data Storage) - Part I

    本文摘译自 Netflix TechBlog : Scaling Time Series Data Storage - Part I 重点:扩容.缓存.冷热分区.分块. 时序数据 - 会员观看历史 N ...

  3. 解决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. ...

  4. 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 ...

  5. .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 ...

  6. [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 ...

  7. 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. ...

  8. 《Pro SQL Server Internals, 2nd edition》的CHAPTER 1 Data Storage Internals中的Data Pages and Data Rows(翻译)

    数据页和数据行 数据库中的空间被划分为逻辑8KB的页面.这些页面是以0开始的连续编号,并且可以通过指定文件ID和页号来引用它们.页面编号都是连续的,这样当SQL Server增长数据库文件时,从文件中 ...

  9. Tuning 14 Using Oracle Data Storage Structures Efficiently

    90% 是Heap table Cluster 集群表, index-organized table: 就是把索引和表 和二为一了. partitioned table:表非常大, 逻辑上是一个大表, ...

随机推荐

  1. 多普勒失真信号采样Matlab模拟分析

    多普勒失真信号采样Matlab模拟分析 方案 水声通信指的是使用声信号在水中数据传输. 相对而言.电磁信号在水中吸收严重衰减过快,光信号受水中悬浮颗粒的影响,也无法完毕远距离传输. 这两种信号的传播距 ...

  2. 迷宫的最短路径 (BFS)

    N*M的迷宫,从起点到终点,求最短距离 宽度优先搜索按照距开始状态由近及远的顺序进行搜索,因此可以很容易的用来求最短路径,最少操作之类问题的答案.  (可以构造成pair或者编码成int来表达状态) ...

  3. 写手Remoting测试工具

    基于.NET开发分布式系统.经经常使用到Remoting技术.在測试驱动开发流行的今天.假设针对分布式系统中的每一个Remoting接口的每一个方法都要写具体的測试脚本,无疑很浪费时间.所以,我想写一 ...

  4. c++的string容器

    c++相比c的一个好处就是实现了很多的容器和泛型算法,使得程序员的工作得到了很大的化简.其中一个很有用的泛型容器就是string.string是一个类,是一个在STL里边实现好了的类,由于他的很多功能 ...

  5. Tsql查询执行顺序

    对于T-SQL编程,用得最广泛的,莫过于查询(Querying).要想写出高质量.高性能的查询语句,必须深入地了解逻辑查询处理. 一.逻辑查询处理的各个阶段 (5)SELECT DISTINCT TO ...

  6. selenium+Eclipse+testNG读取XML内容登陆系统

    package sun; import java.io.File;import org.dom4j.Document;import org.dom4j.DocumentException;import ...

  7. Socket 学习(三).5 UDP 的弱点

    前面 讲到了,udp 传输文本的例子,发现 udp 确实 比tcp 高效一些,现在我用来传输文件,问题果然来了,结果发现 他不能一次 传输大于 64K的东西! 那么 我自然想到了 切包,多次发送,再合 ...

  8. 2014阿里实习生面试题——mysql如何实现的索引

    这是2014北京站的两副面孔阿里实习生问题扯在一起: 在MySQL中.索引属于存储引擎级别的概念,不同存储引擎对索引的实现方式是不同的,比方MyISAM和InnoDB存储引擎. MyISAM索引实现: ...

  9. 国内ng学习网站

    Ngnice-国内ng学习网站2015-01-25 21:30 by 破狼, 534 阅读, 3 评论,收藏, 编辑 今天给angular新手介绍一个国内开源的ng学习网站http://www.ngn ...

  10. WCF服务上应用protobuf

    WCF服务上应用protobuf Web api  主要功能: 支持基于Http verb (GET, POST, PUT, DELETE)的CRUD (create, retrieve, updat ...