找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 6077|回复: 0

[NAS/Server] 转贴: 【CCF】折腾家庭服务器,ESXI all in one

[复制链接]
发表于 2013-10-16 12:47 | 显示全部楼层 |阅读模式
http://bbs.et8.net/bbs/showthread.php?t=1039029

前言
之前一直用一台Intel原厂主板的机器7×24开机当家庭服务器,换上家里各种淘汰下来的硬件,CPU从e1240--E5300--E8400,内存2G--4G--8G,系统从2003到2008R2,运行5年多,还比较稳定。

机器挂2个硬盘,一个大的最新的当仓库盘,1年左右换到台式机上或者备份重要数据封存,另一个硬盘一般是全家最旧的当临时读写盘,装系统并且挂PT、emule、迅雷等等供频繁读写。

除了下载,服务器还跑了airvideo server供IOS放视频,之前用twonky提供upnp和DLNA,这个对字幕支持不好,后来换成了plex,这两套转码时候的临时数据也放到读写盘,一个freerapid下载国外网盘,历年来各种国内网盘客户端。

跑Goagent供全家翻墙,GAE不能用的时候,开一个Tunnelier应急。

装一个everything,提供http查询文件。

装vmware server 1.0x跑过一些虚拟机,主要是一个虚拟的XP上装各种银行证书,需要支付的时候开虚拟机操作然后关机确保安全。再就是一些临时试验和调试的vm,后来vmware workstation直接就支持虚拟机共享,就改成WS了。期间跑过一些软路由,ROS,mono,pfsense等,稳定性都没问题,,估计是在window上虚拟或者是网卡的原因,ping速不理想。其中pfsense印象最深,支持squid透明代理,用了一年多,因为打wow竞技场不能忍受比物理路由高30多ping,封存了。

关于备份,所有台式机笔记本都装syncback,每天增量备份重要数据到服务器读写盘。服务器的syncback从各机备份中拷贝最重要数据如地址本通讯录密码本之类到dropbox的本地同步目录,同时syncback每天半夜把读写盘上的备份
目录连同服务器上需要备份的部分复制一份到数据盘。换硬盘或者有空的时候,挂硬盘拷贝数据盘上的备份脱机保存。

前言写了这么多,是我之前家庭服务器实现的各种功能,后面对一一对应到esxi环境中,不再详述。

起因
因为一直都有用vmware,工作中也接触不少ESX ESXI,(个人还是习惯叫esxi,什么vsphere,这样Vxxxx那样cloud有糊弄人的感觉)几年前就考虑把服务器改成ESXI环境,早版本的因为硬件不支持,后来esxi4.x还是5可以支持了,一方面是懒得折腾,另外也是想着现有机器4G内存也只够ESXI上跑一个SERVER2008,就迟迟没动。去年,坑人的WD绿盘,全新的1.5T挂上去当数据盘,不到半年挂了,损失一部分非重要数据,虽然都是可以再下载的,也郁闷人好一阵了。再就是脱机放着的硬盘要用起来确实不方便,考虑上NAS。因为习惯了2008R2千兆共享80~110M/s读写,市面上的硬盘盒类NAS基本不考虑。之前碰到过一次dell 6i RAID5掉盘的折腾,感觉上,电池也是一笔消耗,就不考虑硬RAID5/6了。

再者是看到在各种NAS上添加功能的做法,相当折腾人,最终确定的方案就是一台ESXI服务器,跑一个存储,各种功能用windows或linux实现。

列了一下预想的功能列表:

存储取代原来的数据盘,就理解成一个大硬盘。
容纳4~8块物理盘,有适量 容错能接受1~2块硬盘坏盘。
速度满足千兆共享也就是读写超过120M/s就够了。
方便ESXI调用以及VMS调用。
不考虑在线扩容。
存储和ESXI的系统及VMS系统独立,即esxi或者存储及vms系统损坏不影响存储数据。
完全实现现有服务器的所有功能,如果有linux下更好方案的,就放到linux下实现部分。

然后就是留意各路小道消息,主要是各种软硬件的bug和负面报道,看看有没不能接受的缺点,下载下来在虚拟机里试验,vmware workstation支持虚拟esxi,速度相当惊人,指的是慢。要不是接触过实体esxi服务器,估计直接就放弃方案了。硬件选型也费了不少时间,春节前后陆续采购装机调试,虽说是在虚拟机里做了功课,换到实体机还是碰到不少问题,写这篇,都是网上找的一些经验窍门和自己走的弯路,算是留存备查,也给有类似想法的同学提供一点方便。

方案
ESXI5.0U2=ZFS+WINDOWS_SERVER2008R2+CENTOS6

硬件
写在最前面,如果你不缺钱,请直接采购商用服务器,真的省事很多,非常多。近两年有些服务器在静音和省电上都已经做得相当好,就是贵以及盘位可能不够。

AMD不熟悉,基本没涉及。

ESXI兼容,现在大多数台式机主板都能安装esxi,需注意是在bios里把sata接口改成AHCI。常见网卡多数也支持,或可通过驱动支持,方便稳定还是intel网卡,需要注意的是有部分intel台式机网卡是不支持的,据说是装了驱动启用了效率也很低,例如82567LM之类,最简单的确认方法是,intel双口千兆都支持且稳定。Esxi5.0不支持usb3.0,不支持marvell的sata3接口。

Vt vt-x vt-d,非IT专业估计认为vt就是支持虚拟化,其实这里很折磨人,推荐商用服务器主要原因也在这里。

Vt-x 是CPU特性,支持的CPU可以在虚拟机里跑64位操作系统,workstation和esxi都需要。CPU是否支持可以到http://ark.intel.com/zh-cn/查询。

Vt-d 是机器特性,支持的机器可以把物理板卡直通给虚拟机使用,并被该虚拟机独占。需要同时CPU,芯片组支持,并且bios有相应代码,并且板卡设备要兼
容。芯片组及CPU是否支持可以到http://ark.intel.com/zh-cn/查询。
除了大厂服务器主板,要挑一个支持vt-d的,真的很难。华擎号称若干主板都支持,bios开启了但是无效。华硕同一芯片组主板有的bios有,有的无,主页上也没标明。技嘉的bug很多,据说每个bios版本表现都不同。intel原厂主板支持的要么太老,要么是itx版型。加上P67芯片组bug和e3-1230v1的bug,可供选择的范围真的很小。
http://www.vm-help.com/esx40i/esx40_vmdirectpath_whitebox_HCL.php有测试兼容列表,估计市售的就这么多了。

CPU:淘宝上年前有一大批志强L5520,4核8线程,60W功耗,同时支持单路和双路主板,400块左右,非常合适。

主板:选定了CPU,加上一些功能的实现必须要VT-D,经过上面列表的过滤,剩下主板就只剩2个选择:Asus P6X58D-E Intel DX58S02,两个都是停产的,接口差不多,全新的不好找,靠谱的2手,400~600块。

优点:大厂的主板稳定性应该都不错,6个内存槽,支持48G内存。
缺点:没有板载显卡,华硕那个板载的是marvell网卡,板载nec的usb3.0和marvell sata3对esxi无用。
(年后出现了771转775的转接卡,那么Intel DQ45CB也是非常好的选择,支持到16G内存,其他4系主板都只能支持到8G,淘宝上有一大批货,100出头的价格,加上771 xeon 4核,一共也才300来块。)

扩展卡:IBM M1015 等同LSI 9240-8i,8个SAS/SATA口,支持单盘3T,刷IT模式认单盘,直通进虚拟机可以读到硬盘smart信息。这里需要注意的是,刷ROM时候最好是没有EFI BIOS的老机器用DOS工具刷,我在新机器上刷报错,网上的解决办法和LSI的EFI程序都不好用。卡加线540块。

内存:8GDDR3*3=24G ,ZFS要保证性能,1T硬盘对应1G空余内存,算上系统本身,12T对应14G,18T对应20G,多点没坏处。

网卡:板载intel 9301CT

显卡:ati rage xl 4m PCI ,esxi对显卡要求几乎为0,支持vga字符显示就够了,无数服务器主板板载这个显卡,稳定性可以保证,卡不带散热片摸上去都是温的,估计节能过好多板载3D显卡。可惜的就是占用了一个宝贵的PCI槽。30块。

如果需要HTPC功能,插多一块ATI HD5450 6450,直通进虚拟win7,就可以和物理机一样操作,已试验,暂无需求就没插,省电。

USB:越多越好,板载的接口全部插线接出来,直通的时候会用到。装好系统后把芯片编号和接口做一个对应表,方便映射的时候找对接口,留一个USB口不做直通,接USB键盘。如果板载没有PS2口,那么开机所有USB口都虚拟机独占,会导致键盘无法操作esxi控制台,虽不常见,但很麻烦。

机箱:华硕的T30,5个3.5寸热插拔位带风扇带背板,5个光驱位,买了个HP 4盘位的热插拔笼子带风扇背板占3个光驱位。总共是9个热插拔位供NAS使用,另有2个盘位装系统盘。机箱支持EATX主板,如果哪天想不开了换双路主板,机箱不用换。560块。

电源:电源是硬盘故障的最大原因,这方面不能马虎。不只是功率,电路稳定也很重要,因为7×24开机,节能也要考虑。另外,电源分单路和多路输出,单路指不管多少根线,共用所有功率,多路是平均分配到几根线上,每根的功率有上限。多硬盘系统最好用单路,不用考虑分配硬盘接口的问题,整体功率要求也比多路电源低不少。简单计算一下,10块硬盘单路400~500瓦就够,多路电源650往上还要考虑平分接线。最终是买了一个全汉的单路600瓦80PLUS金牌420块。
过完年才发现,易迅有一个特供的白金冰蝶530,80plus白金牌,单路输出530W,这个恐怕更合适一些,459块。不差钱就买海盗船AX---i系列的吧,不差电就买服务器单路吧。

硬盘:
一个4G DOM跑esxi系统,这个纯粹是因为不能忍受SD卡启动要3分钟。就是图中悬空在那里的小电路板。另有一张SD卡做备份启动。49块。
一个128G SSD做esxi的vmfs区,存储各个虚拟机文件,容量是小了点,好在各虚拟机只是系统盘,基本够用。各虚拟机文件备份到NAS,只求快,速度非常满意,坏了就坏了。
一个1T硬盘做RDM映射给2008当D盘,这个盘就是原来的读写盘。因为RDM必须依赖esxi,不能读取smart,不能热插拔,所以NAS内的硬盘没采用RDM方式。以上3个盘接到主板的SATA接口。

5个2T接SAS卡,直通进NAS做RAIDZ1。其实理想的状况是8个3T做RAIDZ2,可是硬盘降价太慢,等空间不够再说吧。

整机装好的图片:
2013-03-18_022519.jpg

2013-03-18_022454.jpg

2013-03-18_022420.jpg



静音比较满意,和台式机差不多,功耗没测,估算在200W上下,因为一直在用家庭服务器,可以接受,硬盘温度,室温15度,硬盘在29~41度间浮动。

软件部分
ESXI
esxi可以用unetbootin把iso制作成启动U盘安装,可以安装到另一个U盘或SD卡,注意,如果安装到SD卡,2G就够了,超过4G,esxi会默认把日志文件写在SD卡一个分区上,拖慢速度。再提醒一次,SD卡启动真慢啊,调试阶段还是别用SD卡了,等启动烟都要多抽不少,一点都不省钱,也不环保。

网上说的用winimage复制SD卡的方法,试验未成功,也不必要。任意装好的EXSI硬盘或SD卡,挂上,设定IP,用POWER CLI就可以恢复配置包括授权,只定时做好配置备份就可以了。命令如下:
备份:Backup.bat
set DATESTAMP=%date:~0,4%-%date:~5,2%-%date:~8,2%
set filename= "E:\路径\esxi_%DATESTAMP%.bak"
vicfg-cfgbackup.pl -save -server 192.168.0.x -username 用户名 -password 密码 %filename%
还原:restore.bat
vicfg-cfgbackup.pl -load -server 192.168.0.x -username 用户名 -password 密码 E:\路径\esxi_2013-02-28.bak

RDM映射,把物理硬盘写一个链接文件供虚拟机当虚拟硬盘使用,网上教程很多,有-r 和 -z两种参数,区别不明,用-z映射可以让操作系统读到真实物理盘的名字,部分操作系统还能读到smart,命令类似如下:
/vmfs/volumes/4b6d9e06-eacb4270-750d-002185ac0e72 # vmkfstools -z /vmfs/devices/disks/vml.01000000002020202020202020202020203558573239434c52535433323030 local1TBP.vmdk -a lsilogic

vcenter,台式机还是保留vmware workstation 9,仅需要开关虚拟机和操作虚拟机控制台的时候可以很方便连上去,同时WS里运行一个VCSA,跑在linux下自带数据库的一个vcenter server。需要用到的时候很少,基本也就是clone虚拟机。另外,vcsa5.1可以管理esxi5.0,感觉更快一些。其他多数时候用vsphere client或者CLI就足够了,毕竟是单独运行的一台esxi。

虚拟机的备份,可以手工拷贝虚拟机文件,也可以在任意虚拟机里用veerm设定计划任务定时备份。我自己的做法是,每个虚拟机调试设定好之后,直接导出ovf模板保存。只做一次,系统盘的数据无所谓,反正是家用。

NAS部分
最终使用的是freenas 8.3,测试过openindiana nexentaStor nas4free freebsd。
nexentastor界面最完整,最接近成品nas,免费只支持18T裸盘,也就是3T×6,放弃。
freebsd和oi都是命令行操作,熟悉了操作ZFS问题不大,要设定smart报警、动态DNS等附加功能,折腾工作量不小,最终是放了一个成品OI虚拟机备用。网上一直推崇的OI的优势,一个是支持vmx3网卡,这个在freenas可以实现,一个是多线程的CIFS即NFS共享,个人暂不追求极限速度。

这里有esxi下OI存储的从安装到设置的全程操作,基本照做就可以:
http://technodrone.blogspot.com/ ... walkthrough_14.html

nas4free是原生的freenas,就是很早前用一台废旧机器做存储那个freenas被收购后延续的版本,网上疯传的freenas ZFS效率低下,bug众多,感觉指的就是8.0前后的freenas,不知道算在谁头上。个人感觉太激进,无限追求新版本,无限追求附加功能众多,无限压榨机器和硬盘。比如freenas装在硬盘上就独占硬盘,nas4free装在硬盘占用一部分空间,多的空间还能当UFS存储。也不是说不好,开发理念不同吧。
freenas升级没那么激进,让人感觉是求稳不求快不求多。泡了几天freenas 8.3的论坛版块,专注于找bug反映,也没发现不能接受的。日常用就选了这个。

在esxi下安装和运行有几点需要注意的:

freenas原生是支持vmxnet2网卡,有第三方vmtools内置的,如果可以接受,不需改动,装vmxnet3网卡驱动的方法:
mount -o rw /
mount -t cd9660 /dev/cd0 /media
cd /tmp
tar zxvf /media/vmware-freebsd-tools.tar.gz
cd vmware-tools-distrib
cp lib/modules/binary/FreeBSD8.1-amd64/*.ko /boot/modules
vi /boot/loader.conf
--------------------
vmxnet3_load="yes"
--------------------
reboot

所有有直通设备的虚拟机,预留内存要和分配内存一样多,否则不能开机。之前好像看见篇文章说要预留4G,是不确切的。比如我freenas分配12G,就需要预留12G。

M1015直通进虚拟机,开机会卡在认设备那里。解决方法如下:
Edit the loader.conf
Add the following to it:

hw.pci.enable_msi="0" # Driver Interrupts problem SAS2008
hw.pci.enable_msix="0" # Driver Interrupts problem SAS2008

如果给freenas分配超过1个cpu核心,启动后会一直报一个irq错误,不影响使用但眼晕,进虚拟机bios,把软盘和串口并口都禁用掉就好了。

所有涉及到磁盘读写的虚拟机都打开VMCI支持,个人理解这个就是虚拟机之间直接IO访问而不通过网络,打开VMCI之后,2008R2通过CIFS读写freenas共享有200~300M/s,没有细测就是用fastcopy拷贝看速度,大大超过了预期,也就不为了追求读写速度去挂载NFS了。因为airvideo和plex都支持对共享目录索引,syncback也支持备份到共享目录,200M速度已经快过以前挂单硬盘很多。

有一种解决办法是freenas开启VMCI后,esxi直接NFS挂载,然后除了freenas虚拟机,其他所有虚拟机文件直接生成在NFS存储内,200+的速度,我想是可以接受的。我因为用了SSD存放虚拟机,就没这样做。

还有在ZFS的zpool内挂1~2个物理SSD当缓存,没那么多SSD,直接在SSD上生成了一个虚拟盘当作CACHE试验了一下,感觉变化不大,可能是家里并发不多,这种方法影响迁移,就取消掉了。

把SAS卡直通进OI,用OI导入pool,可以读取数据。用freenas的SD卡,直接启动服务器,导入pool,也可以读出数据。再加上虚拟机的备份,基本上免除了系统损坏导致数据丢失。

掉盘,坏盘,换盘的操作,用虚拟磁盘试过,网上太多物理磁盘试验的例子,就不去试了。

freenas的不足,单独挂载一个ntfs格式物理盘,读正常,写只有3~5M,也没找到确切的解决办法,我的办法是挂在台式机上,直接网络拷贝。

2008R2
完全照抄之前服务器的设置,唯一区别,以前D盘E盘是物理盘,现在D盘是RDM映射盘,E盘是CIFS共享盘,以前是D盘buckup目录拷贝到E盘,现在是直接备份到E盘,由ZFS做快照。以前保留若干版本备份的功能取消。

不足,XBMC不能启动,不支持vmware显卡,所以没法用XBMC当作DLNA服务器,可能XBMC有纯命令行的服务器版本,没去找,airevideo+plex暂时够用。

goagent等各种翻墙代理,只要能修改IP配置的,把127.0.0.1改成0.0.0.0就能提供局域网翻墙,台式机指到服务器IP和端口就可以了。

2008 clone后的新虚拟机不能修改添加角色和功能,运行下面两个命令:
takeown /F c:\Windows\Servicing\Packages /D y /R
cacls c:\Windows\Servicing\Packages /E /T /C /G "UserName":F //username为当前登陆用户名


Server2003
跑一个WUSU提供windows update,跑一个veeam,每月备份一次虚拟机。这两个都需要SQL SERVER,都不支持CIFS共享盘,划200G空间做iscsi共享D盘。如果以后要玩vmware view,需要AD DNS WINS,也是这台,给2G内存就让他那里跑着。连远程访问都不装。

veeam中文windows下界面显示不全:
registry: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\GRE_Initialize,
然后修改以下三个 registry 设置:
a. GUIFont.CharSet = 128 (十进制)
b. GUIFont.Facename = Tahoma
c. GUIFont.Height = 8 (十进制)

Windows XP
插各路银行U盾UKEY,装各路防火墙防木马反入侵,需要现金操的时候开机用一下。


pfSense
2年不用,pfsense升级到2.x,功能多了很多,也能装vmtools,也有好多新的包扩展,装了一个试了一下,ESXI下ping速比物理路由只低10左右,什么时候不玩坦克世界了,什么时候就用这个。

RouterOS
这个纯粹是因为有一个usb的无线网卡闲置,直通进去,直接认了,设做AP。是纯AP,不带路由功能,用来扩展无线覆盖。网上教程弄得很复杂,要点就几个,
1,启用无线网卡,不要给网卡分配IP,不要开启ROS内DHCP。
2,无线网卡模式选择AP-bridge,SSID,加密方式和密码和家里其他无线相同,频道不同,ROS里频道是选频率,非常多,选错了就没信号,试一下就有了。
3,新建一个网桥,port选无线网卡和LAN网卡,启用。

Panabit
这个其实一般家用用不到,我这里用完全是被逼无奈,老婆一开淘宝,直接开10来20个页面,整个带宽都占用,比什么迅雷、BT、XX播都恐怖。以前受威胁无非是不洗碗不做饭,现在只要我一玩坦克世界,老婆就威胁要开淘宝,于是什么丧权辱国协议都要签,哪里有压迫哪里就有反抗。专开一个panabit限制tbcdn带宽,老婆机器网关指到pfsense上,我的网关指到物理路由。panabit需要3块网卡,设置如图就可以。
2013-03-18_012731.jpg

vswitch1的物理网卡接外网进线,vswitch2无物理网卡,模式选混杂,相当于交叉线互联网块网卡。

CentOS
家用来说,不是必须的,无非是实现商品家用NAS的一些功能,人有我也有,而且更好。
Ajaxplorer:WEB的文件管理器,家里用不上,在外有电脑也是用ftp,唯一用途是手机访问某些文件应急。
中文支持不大好,可以改代码,简单做法是新建存储的时候Carset Encode, 这里填写 GB2312,就可以支持中文文件名了。

迷你云和owncloud:私有网盘,各有各的缺陷,都装了,更倾向于owncloud,手机端要收费,多文件下载不支持中文,改代码参考以下网址:http://beckjottings.blogspot.com/2012/12/owncloud.html
需要说一下,centos6,虚拟机导入导出或者clone之后网卡mac地址会变,导致拿不到IP,修改2个文件把新的MAC地址填上去,重启就可以了。
vi /etc/udev/rules.d/70-persistent-net.rule
vi /etc/sysconfig/network-scripts/ifcfg-eth0

总结
内存24G目前肯定是多了,好在年前买的便宜,有备无患。

追求省电和静音,就都上2.5寸笔记本盘吧,可以插更多。

存储解决之后,家里台式机和笔记本全部换上128~256的SSD,并无感觉到不方便,快还是一方面,主要是安静许多,老婆问:你过年到现在都在折腾什么,我都是回答“消灭噪音之源”。然后给她一个能24小时挂各种农场牧场外挂的虚拟机,她就非常满意了。

运行到现在,基本稳定,碰到的麻烦就上面那么多。也有些没解决的,例如:想要一个脚本,windows下或者linux下的都行,间隔ping路由、机顶盒和台式机,如果都ping不通了代表停电,通知esxi关机,可以普通UPS实现停电关机。不会写脚本,不知道有同学能提供没。

家庭单台服务器估计这样也就到顶了,以后如果挂满硬盘还需要空间,就只能再挂盘柜,如果机器配置要升级,一定选超微或者泰安的服务器主板,折腾下来,主板加上网卡和SAS卡的钱,不比成品主板便宜。下次升级估计是万兆普及的时候,很久远的事了,就这么用些年再说。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

QQ|Archiver|手机版|小黑屋|吹友吧 ( 京ICP备05078561号 )

GMT+8, 2024-12-22 21:53 , Processed in 0.282266 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表