[转]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:表非常大, 逻辑上是一个大表, ...
随机推荐
- 中英文url解码vc++源程序
本文主要讨论中文url解码实现问题,没有具体解说url编码,utf-8编码.想对编解码问题有更加具体的了解,请查阅相关文档 url编码:实质字符ascii码的十六进制.仅仅是略微有些变动,须要在前面加 ...
- C++ 对象模型具体评论(特别easy理解力)
c++对象模型系列 转 一.指针与引用 一 概括 指针和引用,在C++的软件开发中非经常见,假设能恰当的使用它们可以极大的提 高整个软件的效率,可是非常多的C++学习者对它们的各种使用情况并非都了解, ...
- sonp跨域请求
sonp跨域请求学习笔记 前言 ajax,用苍白的话赞扬:很好. 我们可以使用ajax实现异步获取数据,减少服务器运算时间,大大地改善用户体验:我们可以使用ajax实现小系统组合大系统:我们还可以 ...
- asp.net 操作XML
using System.Xml; using System.Data; using System.IO; string xmlpath = HttpRuntime.AppDomainAppPat ...
- asp.net 发邮件
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- Mac下一个/usr/include失踪
Mac升级到Yosemite后,突然发现vim的YouCompleteMe代码提示所以空头支票成员,排查了一下,原本/usr/include目录中缺少.所有的C/C++头文件不见了. .. 第一次发现 ...
- Android学习之 WebView使用小结
这段时间基于项目须要 在开发中与WebView的接触比較多,前段时间关于HTML5规范尘埃落定的消息出如今各大IT社区头版上,更有人说:HTML5将颠覆原生App开发 尽管我不太认同这一点 可是关于H ...
- 客户端Webview重定向
今天在客户端的网页中写了句alert的代码,发现执行了两次,后来发现网页的地址写的是http://192.168.14.72/app 客户端Webview加载网页,对于不完全路径会重定向到完全路径,导 ...
- 快速构建Windows 8风格应用28-临时应用数据
原文:快速构建Windows 8风格应用28-临时应用数据 本篇博文主要介绍临时应用数据概览.如何构建临时应用数据. 一.临时应用数据概览 临时应用数据相当于网页中缓存,这些数据文件是不能够漫游的,并 ...
- Java 之复合赋值运算符
1.引入问题 切入正题,看下面代码,结果应该是怎么样的 public class App{ public static void main( String[] args ){ byte a=1 ; i ...