在centos从0开始搭建属于自己的NAS

(上)

Posted by is Q on September 7, 2020

主要内容

物理设备选择

​ 搭建NAS最简单的方式就是直接买群晖一套,但是价格比较贵,自定义范围比较窄。虽然群晖已经帮我们把硬件选择和系统都已经装好了,但是如果你除了想做一个NAS之外,还想让你的设备能做一个小型的服务器,能够部署一些自己感兴趣的东西,这时候群晖的扩展就是一个限制,所以自己选择物理设备才能更好贴合自己的需求。首先理清楚设备需要具有的特性:

  1. 7*24工作 - 耗电需要低,不然每个人月电费就是一大笔花销。

  2. 对性能有一定要求 - 因为需要部署一些自己的东西,所以需要机器的性能还行,所以cpu应该选择一个合适的,由于我目前主要的想法就是做一个NAS和部署一些小系统,所以最终选择i5-5xxx的cpu。

  3. 散热需要着重考虑 - 对于大多数人来说,最后设备都会放在家里,如果散热有很大的噪音会无法忍受,但是要求散热能力也要到位。

  4. 硬盘需要支持7*24工作 - 因此可以考虑红盘(专为NAS打造)和企业盘,为了节约成本可以考虑红盘,关于几种主要硬盘的使用范围,可以参考下图(从别人那里拿过来的):

    蓝盘、黑盘、红盘、紫盘区别

    最后在朋友的推荐下,以及根据自己的要求,最后的选择如下:

    1. 基本套件:EZ storage Pro1 - 包括机箱、cpu、电源和主板,支持4个stata,实际是一个mstata,3个stata接口,还有pcie口可以进行扩展。
    2. 三星 128GB mstata接口固态 - 装系统使用。
    3. 威刚8G DDR3 1600MHZ 1.35V内存条。
    4. 西数红盘4T一个 - 原本想在刚集成的时候先上两个硬盘,但是资金窘迫,就先上一个;由于硬盘接口数量有限,所以根据自己的使用目的合理规划硬盘大小,因为如果硬盘大小没选好,后期会面临需要拆一个容量小的硬盘插一个容量大的硬盘,白白浪费一块硬盘;选硬盘千万别贪便宜,最好取官方旗舰店买,价格贵点无所谓,因为以后你的数据都会存在这里的,你不想你的数据某一天突然就没了吧?硬盘钱千万别省,宁可先少上也不要降低质量。

系统搭建

​ 因为充当着服务器的功能,所以系统不言而喻就选择了Linux,但是Linux系统比较多,目前使用比较多的就是ubuntu和centos,ubuntu更适用于个人,centos更适用于企业,考虑到稳定性的原因和7*24工作,最终最终选择centos7.4版本,由于是用来做服务器,所以很多无用功能都不需要,所以直接选择centos minimal版本(可以直接去centos官网下载,选择适合自己的版本就行,这是镜像存储在国外服务器,所以下载的很慢)。

安装准备工作

  1. 一个8G以上的u盘。
  2. centos ISO版镜像。
  3. ultraiso - 制作启动盘工具,启动盘制作教程可以参考该文章制作CentOS的U盘启动盘
  4. 一台window系统电脑 - 不知道ultraiso工具有没有其他版本的,所以需要一台windows电脑。

安装系统

​ 按照第三步的教程做好启动盘之后,将u盘插入你的设备,一般选择第一个进行安装就行,如果安装的过程中提示:not attached,说明没有找到驱动,这时候退出重启,选择第一项不要按回车键,然后按E(具体看下方说明进行编辑),找到hd:LABEL=关键字,然后认真核对自己=后面的内容,是否就是自己u盘的名字,如果不是那就是有问题,将=后面的内容改为你的u盘名就行,window系统上好像盘名会默认改为大写,所以主要大小写,最好自己手动改为大写盘名,然后替换的时候也清楚。如果还是启动还报这个问题的话可以尝试改改启动盘下面文件。

  1. /EFI/BOOT/grub.cfg:同样和上面的改动差不多,找到所有hd:LABEL=,然后=后面的内容改为u盘名。
  2. /isolinux/syslinux.cfg:找到所有hd:LABEL=,然后=后面的内容改为u盘名。

基本上改好之后再选择安装就没有什么问题了,很快就会进入centos的安装引导界面,如果你也有要做服务器的需求,建议在选择语言的时候就选择英文,后面的内容就很简单了,引导结束之后就是重启就完成了。

遇到的问题

  • 安装时报not attachec错误?

    解决方案:上面已经讲了,参考安装系统部分。

  • 想查看自己的ip地址,发现ifconfig命令不可用?

    解决方案:centos7已经使用ip命令代替ifconfig的功能,如果想查看ip地址等信息,可以使用ip addr查看。

  • 使用ip addr命令发现没有给分配网卡ip地址,或者网络不可用?

    解决法案:这样可能是你没有启用你的网卡,使用命令:ifup 网卡名启用网卡,ip addr可以看到网卡名,每一行最前面的名字就代表网卡名,但是这样只能解决本次问题,如果想永久解决该问题就需要改配置文件,配置文件一般在/etc/sysconfig/network-scirpts下,然后找到你需要改动的对应网卡配置文件(ifcfg-网卡名),然后将ONBOOT=no的值改为yes,表示每次开启都启用该配置。

  • 远程登录不了自己的系统,进入物理机发现ip地址和上次不一样了,怎么固定设备ip地址(将ip地址设为静态的)?

    解决方案:默认网卡的ip地址是dhcp分配的,也就是动态分配,至于dhcp具体是什么,你没必要理解,因为这属于计算机网络的内容,你只要知道采用改方案会导致ip地址会动态分配,重启机器ip地址可能会改变,如果需要设备固定为某个ip地址需要改配置文件,配置文件通常在/etc/sysconfig/network-scirpts目录下,找到对应网卡配置文件(ifcfg-网卡名),添加或者将配置改为一下值:

    1
    2
    3
    4
    5
    
    BOOTPROTO=static # 配置ip分配分式,static表示采用静态ip,也就是固定ip
    ONBOOT=yes # 开机启启用该配置,保证后面每次重启都生效
    IPADDR=192.168.0.5 # 分配给该网卡的ip地址
    GATEWAY=192.168.0.1 # 分配给该网卡的网关,你不需要了解这是什么意思,你将它配置为你连接的路由器的ip就行,如果不知道你路由器的ip地址,你登录路由器管理页面的那个ip地址就是,一般就是192.1638.0.1,或者最后一位为.1
    NETMASK=255.255.255.0 # 子网掩码,网关和这个都属于计算机网络知识,你也不需要明白代表什么,你使用ip addr查看ip地址,看看ip地址/后面数字带表多少,一般是8的整数倍,是8的几倍,前面几个就是255,如这里是24,所以前面三部分都是255,如果不是8的整数倍,那就了解一下子网掩码的计算方式吧。
    
  • 一个几T的硬盘,挂载之后显示为3.8G?

    解决方案:这是因为硬盘格式不对,所以识别不了,可以把硬盘格式成指定格式(ext4)再挂载,格式化的话使用该命令mkfs -t ext4 /dev/sda,/dev/sda代表哪个硬盘(个人不建议分区,因为分区是需要自己去计算起始位置,而且Linux下分区也就是代表一个目录,所以个人觉得没必要分区);查看已装载的硬盘,可以使用fdisk -l命令,如果想看已挂载的硬盘可以使用df -l命令,如果已装载的硬盘在df命令下没有输出,那么意味着没有挂载,使用mount命令进行挂载就行,可以使用mount -t ext4 /dev/sda /data,其中-t指定格式,/dev/sda代表哪个硬盘,/data代表挂载的路径;上述这样挂载每次重启机器都需要重新挂载,为了以后能够自动挂载可以改动配置文件,将需要挂载的硬盘新增一行添加至/etc/fstab中,其中第一项表示要挂载的硬盘,第二项表示要挂载的路径,第三项是类型(ext4),后面的几项不太明白,直接用的前面几个相同的值。