HP MicroServer Gen8 光驱位启动操作系统

HP Gen8 除了标配的四个硬盘,在服务器的顶部,还有一个安装光驱的位置 ( 也成为ODD ),很多使用者都将这里改造后安装一个2.5寸的SSD硬盘作为系统盘。不过在各个论坛上,经常讨论如何将这个硬盘为系统启动盘。

为什么要用光驱位直接启动?

根本的问题出自 HP Gen8 这个电脑的设计,作为一台服务器,并没有向普通电脑一样可以设置任何一个硬盘都可以随意成为启动盘。如果采用AHCI模式( Serial ATA Advanced Host Controller Interface ),启动盘只能是SATA1或者TF存储卡。

Gen8只有四个标准的硬盘安装位,支持快速插拔。如果使用了第一个硬盘来做系统盘,首先会占用较多的空间放置系统程序和数据,同时这个硬盘损坏后更换,也就涉及到系统的重新安装和设置,对NAS的使用维护添加额外的麻烦。另外,如果采用软件或者硬件方式RAID来进行冗余存储数据,更需要四个数据盘只存放数据,而非操作系统。

目前,从光驱位(ODD)的硬盘启动操作系统,目前市面上还流传有一种方法:将grub安装到一个TF (MICRO SD)存储卡作为启动盘,在启动后通过它跳转到SATA5对应的盘符上。不过这个方法需要很多命令行的操作,如果驱动器号没有配置正确或者操作系统相关的配置有误,就会无法启动。并不是一种老少皆宜的简单办法。另外,为了启动一个几十个G的操作系统盘,还要买一个TF卡,实在是像是花冤枉钱。

还有一种硬件修改的办法,就是将 SATA1 和 SATA5 的接线换一下,深水宝上可能有现成品简化一些接线的工作。不过这方法还是比较适合动手能力强的人。而且 SATA1 是 6GB/s 的接口,用在操作系统上有点可惜了。

如果Gen8能和一般电脑一样灵活的设置,就不会出现这样一个问题。不过,HP 服务器其实来还是预留了一个变通的方法, 不用以上各种折腾就能无痛的实现光驱位第五个SATA的启动。

操作步骤

1. 只留下系统盘

拆除所有其他硬盘,只留下光驱位的系统盘。

这时候这个磁盘可以是空白,没有安装操作系统的。如果没有安装操作系统,先从第一步走到第四步,然后用 iLO 安装操作系统,验证一切都没有问题了,在修改启动盘的优先级。

2. 打开 iLO 窗口

所有的操作都是在iLO下进行的,所以需要确定iLO的网线口联好了网络,并让一台电脑访问这个地址 https://192.168.1.xxx,使用管理员账号 administrator登录。打开 Remote Console 访问Gen8服务器,并启动服务器。

在启动过程中,看见进度条和按下F9进入Setup菜单的时候,按下F9进入设置界面。

3. 使能B120i 控制器

按下F9进入BIOS后,按照如下的菜单来设置使能B120i磁盘阵列控制器。

System Options 
  >> SATA Controller Options 
    >> Embedded SATA Configuration
      >> Enable HP Dynamic Smart Array B120i Controller

重启服务器,好了,我们就可以进入最为重要的一步。

4. 建立阵列服务

接下来的操作,我们将安装在光驱位的SSD盘建立了一个虚拟的 RAID 0 卷,也就是 Local – logical Drive 1。如果之前已经建立过RAID卷,请删除,务必保证只有一个RAID 0 卷,而且这个卷只有我们这个在光驱位的系统盘。

再次启动,继续启动进度条的界面中按下F9进入 Perform Maintenance 界面。选择进入 HP Smart Storage Administrator (SSA) 智能存储管理的界面。

在左侧的 Configura 菜单中选择 Dynamic Smart Array B120i RAID 项,并选择 Set Bootable Logical Drive/Volume 来建立可以启动的逻辑驱动/卷。在出现的磁盘列表中选择第一个 Local – logical Drive 1 作为 Primary Boot Logical Drive/Volume 主启动逻辑盘/卷。然后OK保存。

退出当前页面,重启服务器。接下来,我们就可以用这个虚拟的设置为启动盘。

5. 设置启动盘

再次启动,继续启动进度条的界面中按下F9进入 BIOS 设置。

选择Standard Boot Order (IPL) 菜单,在回车后,通过调整启动盘的顺序,将 IPL:1 设置为第一启动优先级。

退出BIOS,并按F10保存设置,重启服务器,这时候服务器应该可以直接从第五个硬盘的接口启动操作系统了。

升级2012年版MacPro Book

目前的苹果产品可以说是绝对封闭的体系了,基本上没有人会打开外壳进行一些内部硬件的升级改造,而且基本上也没有了这样的可能。可以说2012年版的MacBook Pro是最后一个可以用户升级硬件的苹果产品了。

正好本人手头的这台苹果电脑就是这样一个产品。平时如果只是做一些基本都操作,也就凑合了,随着iPhone容量的不断增大,同步几次照片后,就开始发现机器慢的不得了,硬盘空间完全没法满足人民群众照片数量日益增长的需求了。 但是,到底是苹果的产品,其做工和用户体验一直还是保持水准的,内置的i5处理器处理器算力倒一直都不是瓶颈,可以考虑升级一下其他的部分。

关于这个电脑的技术数据可以参考苹果官网。其中可以方便升级的部分主要是存储部分,2012版的MacBook均采用了标准的PC配件,而且操作系统上没有加任何锁定,非常人性。

继续阅读“升级2012年版MacPro Book”

自建家庭私有云NAS——硬件篇

背景

现在网上在线看电影已经变成了常态,下载机的需求已经不再是那么的迫切。 但为什么我还是佩里不讨好的要自己DIY一个NAS呢?

听说微软准备把蓝屏改成绿屏了

我的公司笔记本电脑硬盘经常损坏,所以需要备份。但USB接口的移动硬盘也是脆弱的一个设备。而且每次都需要插上后备份。手机,家里的笔记本,台式机,相机……都存在类似的需求。这让USB接口的移动硬盘方案不太合理了。

将家人的照片和文件共享也是一个原因。现在的方法就是微信转发,但问题就是分辨率不高,或者占用大量的手机存储空间,更换手机后想要拷贝回来iCloud用量已经超标……。同时也存在检索以前的照片视频非常困难。

一台电脑编辑一个文件后,用另一个设备打开是一个非常常见的操作。比如手机或者相机拍照后用台式机来修图,然后又通过手机来分享照片。没有私有的云设备,很多时候我们不得不用微信一张张的传送分辨率极低的图片,或者用移动盘来拷贝。

实际上市面上已经有很多成熟的NAS产品,如果只是想要解决这些问题。还是建议直接采用厂家的标准解决方案,因为这些产品的软件和服务可以帮一般用户节省大量的时间和精力。但除了省钱这个必要的原因之外,DIYer的精神就是折腾,如果不能安抚自己躁动的内心,就像是没有找到合适的产品。除此之外,标准解决方案虽然非常高效,但也有一些不足的地方,我们在下面的文章中也会逐步探讨。

为什么不把数据都同步到云上面去?——这个问题怎么回答你呢?曾经突然收到网盘关门大吉的消息还没来得及备份的我看到这个问题就感觉到心里默默的痛…… 继续阅读“自建家庭私有云NAS——硬件篇”

13.5元搞定NAS 外置 LCD 显示

经常出差,都不知道家里面的温度如何。 另外我的 NAS 也即是前面提到过的 GEN8 曾经热死机一次,也是怕负载莫宁其妙的太高,里面的硬盘经不起来回的折腾。就琢磨用 NAS 为基础做一个远程监控的系统。

首先从近处开始,NAS 运行的是 Centos Linux,平时我需要用 putty 连进去才能看运行信息。我不在的日子,家里面人都不知道它是不是还在运行。所以,首先准备了一块 1602 的 LCD,和一个自己焊接的 LCD2USB 驱动板。不要问我为什么要自己焊接,真不是为了那 6.99 元的诱人价格,而是真的看错了,也成就了平生第一次手工焊接贴片元器件的电路板。LCD 价格 6.5 元,选用了绿色背光灯,让夜色更加迷人点。背光的亮度是通过驱动板后面的可调电阻来设置的。这样总价 13.5 元的 NAS 外置 LCD 显示就搞定了。

1602 LCD
1602 LCD

在 LCD4Linux 和 LCDProc 中选用了后者,主要的原因是前一个从 2009 年开始就没人维护了,连编译都过不去。而 LCDProc 的问题也是很多,这里把重要步骤罗列一下:

首先,必须修改一下源代码:server/drivers/timing.h,选择 DELAY 的方式为最简单的 gettimeofday 来实现,其他的模式,包括那个可怕的自动选择模式,都会带来无穷无尽的折磨。相信我,对于 LCD 这种东西,这个选项已经足够了。

//#define DELAY_AUTOSELECT
#define DELAY_GETTIMEOFDAY
//#define DELAY_NANOSLEEP
//#define DELAY_IOCALLS

然后就简单了,对于 LCD2USB 板子,只需要编译一个驱动就可以了。

./configure -prefix=/usr/local --enable-drivers=hd44780
make
make install
cp server/drivers/hd44780.so /usr/local/sbin/lcdproc

创建一个空白的 /usr/local/etc/LCD.conf 配置文件,然后根据 LCD 的型号输入以下内容。

[server]
Driver=hd44780
DriverPath=/usr/local/sbin/lcdproc

[hd44780]
ConnectionType=lcd2usb
Contrast=850
Brightness=800
OffBrightness=0
Backlight=yes
Size=16x2

以 root 运行 LCDd 服务进程,这个程序将在后台写 LCD。它输出的内容则由客户端程序——我们这里是 lcdproc 来定义。

根据电脑要显示的内容需要编辑 / usr/local/etc/lcdproc.conf 文件,比如在 Centos 上网络连接不是 eth0 而是 eno1,这个就需要在这里改一下。其他需要修改的内容并不多。修改后以 root 权限运行 lcdproc 程序,就可以看到 LCD 显示你定义的内容了。

848947878

装 LCD 的纸盒子实在是太丑了,不过本地的显示算是搞定了,然后就可以考虑远程的数据传输了。

 

家庭NAS方案-硬件篇

家庭内部是否需要一个服务器是一个因人而异的问题。如果是一个摄影爱好者,喜欢看电影,手机不离身,电脑来回换,就需要一个能够集中安放这些媒体文件,离线自动下载同步的服务器了。在本文中,我将详细的介绍一下自己DIY这个家庭服务器的主要过程。由于硬件直接使用了惠普的GEN8服务器,软件相关的内容将在下一篇中详细介绍。

我的家庭需要就是一个网络存储设备(NAS),主要用于离线下载,用于连接媒体播放器(树莓派+OpenELEC),几台电脑数据集中存放和同步(包含苹果电脑的时光机同步),若干个移动设备,提供科学上网服务等。

正如标题所说,这里说的是家用网络存储服务器,所以我们在本文中探讨的内容也只会涵盖家庭用户(不是办公室那种可靠性要求的客户)。对于重要的数据(比如我有两百多G的照片)并不是放在这个服务器上就万事大吉了,重要的事情说三遍:多多备份,多多备份,多多备份!千万不要迷信服务器是绝对安全的,唯一安全的方法就是在多个地点,不同的硬盘里面把重要的数据都保存几份。

服务器的选择

曾经在万能的马云家花费不到200块买了一个迈拓的MSS第一代,里面那块三星的160G硬盘在服役8年后依然还在7*24的运转着。通过这几年对MSS的使用,也使我更加明确了我所需要的家庭NAS可能面对的主要问题

  1. 硬盘容量,原有的160G硬盘对于现在动辄几个G的电影来说实在是捉襟见肘。对于家庭用户,需要对家庭所有NAS的潜在用户所需要的硬盘容量进行一下简单的统计然后才能规划所需的硬盘容量。
  2. 硬件性能和操作系统的支持,人工增加内存的MSS1也只有128M的内存。CPU是一个博通的内置MIPS指令集的处理器。能够在这硬件和内存上稳定操作系统只有OpenWRT了。这样就严重的影响了能够使用的软件数量,以及同时能够运行的进程数量。
  3. 稳定和能耗,家庭用户基本上希望NAS是在角落天天运转而无需操心的一个黑盒子。市面上其实来有还能找到很多二手的服务器,非常的便宜,同时也满足前面几条要求,唯一不满足的就是能耗(其实来还有噪音)。找一个7X24运行,而且比较省电的服务器是必要的。
迈拓的MSS
DIY迈拓的MSS曾经也是一种乐趣

告别了不到了两百块的MSS,我们现在能在市场上找到更多更好的NAS硬件解决方案。在性价比和灵活性之间拿捏是一个很困难的事情。如果动手能力还不错,可以选择和我一样使用CHH上最为热门的惠普GEN8服务器。

HP ProLiant MicroServer Gen8
HP ProLiant MicroServer Gen8

通过德国网站在促销的时候海淘,基本上通过花1450块人民币你就可以得到了这样一个基本上满足我所有硬件需要的服务器了:

  • 为7X24小时运行而设计的专业服务器,ECC内存,双千兆网线接口,体积小巧,而且是HP的牌子,最重要的是外观实在是讨人喜欢啊,自己DIY真是也做不出这么好看又逼格的服务器来。
  • 支持4个硬盘,自己还可以在光驱的位置上加一个硬盘。对于家庭用户余量充足。GEN8还内置了B120i的磁盘阵列控制器,支持RAID0和RAID1模式,如果真的有需求就算是赚到了。
  • 有iLO远程管理,很多人说这个有啥用?没有管过服务器的人真是没有感觉啊,像是NAS这类服务器基本是不会去接显示器,键盘的,那你准备怎么安装操作系统,出了问题怎么查看?iLo可以帮你在一台电脑浏览器上直接操作和查看服务器,就像是直接操作服务器硬件一样。
目前只用了两块硬盘,其他的两个硬盘位等待以后扩展
目前只用了两块硬盘,其他的两个硬盘位等待以后扩展

不过乞丐版的GEN8的缺点也是显而易见的

  • CPU只是赛扬G1610T(双核,主频2.3G),对于负载的运算和数据加工时有些 不堪重任。不过对于NAS来说,主要的任务就是下载,上传文件,无需进行太多的媒体文件加工,这个配置对我而言还是足够的。
  • 内存默认只有2G的确是很让人困扰的,如果要运行GUI的系统,如果要安装虚拟操作系统,起步至少8G。不过,我为了提高自己对服务器操作经验(其实来就是没钱),还是选择了不升级内存,只用终端操作,不搞虚拟操作系统。

如此而来我能得到的一个硬件基础就是:一台稳定的电脑,但只支持安装一个Linux,剩下的花样就要靠软件来解决了。不过目前看来我的服务器负荷率通常都在百分数,即便是所有NAS功能全开,几个电脑进行拷贝同步操作,CPU负荷也不会超过60%,内存更是只需要不到500M,大部分内存通常都在做系统缓存。

服务器架构和操作的安装

应为定位是一个服务器,稳定就要压倒一切,在GEN8服务器上安装操作系统对我而言只有一个选择CentOS,原因是这个是Redhat的官方复刻版,基本上除了官方的服务,一切功能,稳定性,可靠的更新都是一样的。这也是惠普网站推荐的操作系统之一。如果对Ubuntu比较熟悉,也可以尝试Ubuntu server版本,不知这款服务器对这个操作系统的支持如何。不过如果看过这篇文章的后续-服务器软件篇,就知道操作系统真是没有太大的关系了,现代的Linux系统真是太灵活了,我们可以汲取各个发型版本的优点来为我所用。

安装操作系统的可以参考iLo安装操作系统的介绍。注意:在这个服务器的安装中,我没有使用GEN8内置的RAID功能,因为不论0模式,还是1模式,对于家庭NAS来说都是有点极端的。

正确设置STATA控制器是安装Linux的必须步骤
正确设置STATA控制器是安装Linux的必须步骤

请通过iLO在BIOS中使能AHCI,否则是无法成功安装操作系统的。据说使用AHCI方式后主板无法检测硬盘温度,会造成GEN8风扇转速升高,进而噪声巨大。网上的经验是升级iLO4的固件。不过经我本人验证,倒没有出现这个问题,而且机器是放在客厅角落的,白天更本听不见,晚上能感觉到一点声音不过和硬盘本身的噪声,以及其他设备的声响比较起来也不是很突出。

为了充分利用GEN8 的四个硬盘位,在操作系统安装中,我才用了如下的硬盘分区规划

Boot root swap Home Media
500M -Disk1 80G – Disk1 2G – Disk1 500G – Disk1 其他

也就是说除了主要目录分了第一块硬盘大概600G容量,其他的容量和第二块硬盘全部空间,都通过LVM(逻辑虚拟卷)变成了一个分区。LVM可以实现跨物理硬盘来管理一个逻辑分区,而且这个分区是可以调整大小,更换其中的物理硬盘。也就是说如果以后添加或者更换硬盘,就可以通过LVM来灵活的复制,扩充这个分区,而不用影响系统程序安装的分区了。另外,LVM也让多块硬盘在系统中成为一个连续的空间,无论文件或者目录大小都不会出现一个分区被占满,别的分区却空着的情况了。如果以后添加硬盘,只需将新硬盘制作成物理卷,然后加入到虚拟卷中。

除了LVM之外,还有一个选择就是ZFS-号称终极文件格式系统,这种文件格式系统也可以实现跨硬盘的文件管理,而且这种逻辑卷的管理和文件格式管理是一个整体的,不像LVM那么分裂。非常出名的NAS操作系统FreeNAS系统就是用ZFS来实现的多磁盘管理。不过需要注意这个文件系统的支持在主要Linux发行版本中都是测试性质的,稳定性有待商榷。

另外需要注意的是CentOS默认使用XFS来格式化分区,在安装系统之前,我现在虚拟机上演练LVM时发生过XFS无法解决的问题,但Ext4则没有问题。所以在此次安装NAS的时候,我毅然决然的选择了Ext4格式。虽然网上对两者的性能对比非常多,不过对家庭NAS来说,这些微小的区别基本上是可以忽略不计的。

操作系统安装完毕后,和硬件相关的内容就可以暂时先搁一下了。我会在接下来的一篇中详细介绍一下如下的内容

  • 操作系统的设置和优化
  • NAS主要软件和架构
  • 通过Docker来虚拟化