2022年12月

参考
https://hbayraktar.medium.com/how-to-install-ssl-certificate-on-apache-for-centos-7-38c25b84d8b1
https://help.aliyun.com/document_detail/98727.html?spm=0.2020520163.help.dexternal.7b14nPmVnPmVV3
apache上要先安装ssl模块, 默认是不装的.

yum -y install httpd mod_ssl
sudo systemctl enable httpd.service
systemctl start httpd.service

把apache的ssl证书下载下来, 我用的是阿里云, 下载的证书有三个文件: .key,public.crt和chain.crt, 存到服务器上
修改apache配置文件/etc/httpd/conf.d/ssl.conf, 修改前先备份
<VirtualHost></VirtualHost>之间删掉, 直接用阿里云文档提供的模板, 注意, 如果修改了443端口, 如改为4000,则也需要改掉

<VirtualHost *:4000>     
    ServerName  www.xxxxxxxx.com:4000 #修改为申请证书时绑定的域名。                    
    DocumentRoot  /data/www/hbappserver/public          
    SSLEngine on   
    SSLProtocol all -SSLv2 -SSLv3 # 添加SSL协议支持协议,去掉不安全的协议。
    SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM   # 修改加密套件。
    SSLHonorCipherOrder on
    SSLCertificateFile cert/domain_name1_public.crt   # 将domain_name1_public.crt替换成您证书文件名。
    SSLCertificateKeyFile cert/domain_name1.key   # 将domain_name1.key替换成您证书的密钥文件名。
    SSLCertificateChainFile cert/domain_name1_chain.crt  # 将domain_name1_chain.crt替换成您证书的密钥文件名;证书链开头如果有#字符,请删除。
</VirtualHost>

删除ssl.conf文件中的listen 443 https, 修改/etc/httpd/conf/httpd.conflisten 4000listen 4000 https
登录wp后台, 下载一个Really Simple SSL,按提示开启ssl. (这一步与上一步可能先后次序不对, 实际可尝试一下)

搞了个6盘位的星际蜗牛NAS,下面是记录。

硬件组装

本质上就是一个多盘位的电脑,但用起来和电脑有很多不同。只需要插网线和电源就行。
如果插HDMI开机,只会显示4行字就卡在那儿不动了。

Booting `RedPill DS918+ v7.1.0-42661(USB, Verbose)`

Loading Linux...
Loading initramfs...
Loading kernel with USB boot
_

这就是正常的了。
网线和有网口的电脑直连,不需要开DNS或者配置电脑IP,用默认的169.x.x.x的IP就可以。
准备一个空白SATA硬盘(或者是数据已经备份的),插入NAS,这个硬盘将被格式化。

安装软件

王航卖家说已经装好了群晖 DS918+的固件,也就是在内置一个SSD上装的img文件。需要用启动盘来装。网上有卖,也可以自己做。
群晖网站下载.pat系统,需要和硬件以及固件系统一致,如DS918+v7.1.0-42661
下载Synology Assistant并安装,点击搜索,会搜索出来网线直连的NAS,点击进入管理主页,选择.pas进行安装。
后面都会在浏览器中操作。
填写用户名和密码,要记牢。这是以后的网页登录、ssh登录、smb登录的用户名密码。
跳过自动更新(一定要选手动更新)和注册群晖账号。
装好以后,先修改一个和路由器同网段的静态IP、网关、DNS,注意不要和已有IP冲突。
等待设置完毕,把网线连回路由器,电脑也连上路由器,浏览器访问刚才的设置的IP地址进行管理。
可以开启ssh和文件共享。

直接使用NTFS硬盘的方式

加入NAS的硬盘,如果使用在存储管理器>存储空间中创建存储空间的方式增加,则硬盘必须被格式化,以便设置为群晖的硬盘类型。群晖基于ext4或者btrfs磁盘格式组建RAID。为便于后期增加磁盘扩展,又有几种扩展格式,即SHR、Basic、JBOD。建议Basic类型。
如果是从Windows系统过来的数据盘,一般是NTFS格式的,则不能用上面的方式加载,而是需要用linux的mount命令,使用root权限加载。
这时候需要知道什么磁盘加载到什么位置。

什么磁盘

存储管理器>存储空间中可以看到什么磁盘,如磁盘1磁盘2等等,这与linux的磁盘有对应关系,即sda sdb等等
群晖磁盘名|linux磁盘名
--|--
磁盘1|sda
磁盘2|sdb
磁盘3|sdc
磁盘4|sdd
磁盘5|sde
磁盘6|sdf
分区则对应是数字,如sdd1则是1号分区,sdd2则是2号分区。但是分区有时候并不连续,最好可以通过ssh username@ip的方式登录上去看看。
查看当前有哪些磁盘分区:

ls /dev/sd*

查看每个分区的大小和格式化类型

sudo fdisk -l

查看已经挂载的分区的情况

df -h

如上,比如发现了sde2 sde5使我们需要挂载的分区,这一步结束

挂载到哪儿

回到web页面:

  • 控制面板>共享文件夹,增加共享文件夹,如T2,设置名称并取消回收站功能。
  • File Station选择刚才创建的T2新建文件夹,普通文件夹即可,如C D,对应C盘和D盘。右键看下文件夹属性,应该是/volume1/T2/C/volume1/T2/D这样的。这一步结束。

    撰写挂载Linux脚本并挂载

  • 控制面板>最下面的任务计划新增》触发的任务》用户定义的脚本,用户账号改为root,事件为开机,用户设置的脚本写mount命令:
mount -t ntfs /dev/sde1 /volume1/T2/C
mount -t ntfs /dev/sde2 /volume1/T2/D

保存。因为是root权限,会有一条警告,确认即可。这样开机就可以运行了。点右键可以立刻运行一次。然后到File Station里查看T2/C和T2/D就能看到了。

SAMBA(SMB)协议共享及问题

控制面板>文件服务中可以启用SMB协议。
但问题是通过mount挂载的硬盘会从smb共享中消失,umount以后又会出现。所以SMB只能看到通过存储管理器增加的RAID盘。

WebDAV文件共享

在安卓手机端的CX文件管理器中发现支持WebDAV文件共享,不过DSM默认没有安装webdav服务,需要在套件中心中下载并安装启用。
webDAV中能够看到所有共享的硬盘资源,包括ntfs mount的硬盘。并且视频文件不需要下载就可以观看。推荐!复制粘贴的体验也和一般文件夹无异。
Windows 10端WebDAV需要修改注册表和开启服务。

  • 注册表修改HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\BasicAuthLevel键值为2
  • 命令重启网络服务net stop webclient, net start webclient
  • 服务中开启webclient服务
  • 在Windows文件管理器中添加一个网络位置或者映射网络驱动器,链接位置写http://IP:Port, webdav http端口默认5005, https端口5006,不过实测5006打不开不知道为啥
    Windows10链接的磁盘似乎有点问题。我有个3T的盘就无法打开。

NFS文件共享

windows 10 home版本不支持,需要专业版才有nfs服务功能。第三方的nfs客户端几乎没有能用的。

FTP、SFTP共享

很奇怪,FTP在默认21端口上无法访问;开启SFTP使用Winscp才解决。
另外,windows 11 通过添加一个网络位置的方式对SFTP的支持有问题,会导致文件管理器窗口死机,且无法删除这个创建的网络连接

通过SCP共享

参考:https://phoenixnap.com/kb/sshfs
Windows 11 完美解决的方式是SCP,不过需要安装开源的第三方插件 winfspsshfs-win. 可选装sshfs-win-manager来进行GUI管理
安装完后,在添加一个网络位置中输入\\sshfs[.option]\<remote user>@<remote host>[!port][\path], 例如:
\\sshfs\user@192.168.3.3,然后输入用户名和密码。

局域网唤醒和上电唤醒

NAS bios修改

需要打开bios修改。NAS插上HDMI显示、接上USB键盘,开机狂按F11或者F7可以进入bios设置。修改对应设置即可。

群晖系统修改

需要在控制面板>硬件和电源>常规>电源自动恢复勾选启用局域网1的网络唤醒

远程唤醒准备

需要知道NAS的IP和MAC地址。IP是自己设置的,可以在控制面板>网络>网络界面中查询到。MAC地址可以找一台局域网内的电脑,在命令行输入arp -a查询对应IP的mac地址。如果没有,可以ping 对应IP后,再次arp -a来获取mac地址。

MAC上远程唤醒

mac上可以在mac商店里搜索wol或者直接下载WakeOnCommand。新增并填入IP/MAC地址即可。

Android上远程唤醒

谷——歌——商店下载wake on lan,也是增加IP/MAC即可。

Windows上远程唤醒

下载Nirsoft WakeMeOnLan软件,增加IP、MAC即可。

PS:目前硬盘的放置方式

有三个盘是旧盘,其中一个盘数据最少,备份出来,在安装群晖pat系统时候格式化为btrfs,作为系统安装用盘. 另外两个盘用原ntfs系统, 原数据,通过linux脚本mount命令挂载在文件夹中, 另外再买了两块4T紫盘组成RAID1作为最安全的数据存储.买4T的原因仅仅是因为现在(2022/12)4T最划算. 机械硬盘容量这几年似乎没有很大增长, 我八年前就买了3T盘, 十几年前就买了2T盘, 现在容量主流居然才是4T. 价格也没有很大下降, 似乎早已脱离的摩尔定律的制约了.

PS2:概念

iSCSI ICFS NFS

https://new.qq.com/rain/a/20210315A06ZTL00

从来没有把硬盘用到完全挂掉,但小米路由器成功地做到了。

以前硬盘最多是用到有坏道,而且是可以提前感知的。硬盘反复读取、吱吱作响,但不至于无法挂载或者文件系统坏掉。
而这次小米硬盘内置的1T三星2.5寸硬盘完全无法挂载、文件系统完全丢失了。
虽然网上对小米R1D路由器早有批评之声,说把路由器这个可能随时断电的系统放在硬盘上本来就很不可靠,而且会导致硬盘损坏数据丢失,但我却一直有侥幸心理,直到被现实暴击的这一天。个人数据非常重要但不会频繁读取,而系统数据却是会频繁读取导致硬盘寿命缩减。小米路由确实应该在发现硬盘读写存在问题前早点通知用户更换硬盘的。
话说,今年我已经因为SSD盘提示SMART故障换了一次了。
说说发现的过程和恢复的方法。

  1. SMB失效。首先发现通过smb无法访问硬盘。我用的是cx文件管理器,开始还以为是这个app的问题,安装了讨厌的广告巨多无比的ES文件管理器发现现象一样。我还重启了手机,还是不行。由于smb协议本身不稳定的传说,我第二天再次尝试,还是不行。此时才想到登录到路由器上看看。
  2. 路由器进入安全模式。通过网页登录路由器,发现登录界面不大一样了。默认手机登录时的界面是会适配手机的,结果发现界面变成了PC版本,输入框很小。登录以后发现路由器处于安全模式,给了两个选项:尝试恢复系统、备份硬盘。此时我还没有怀疑硬盘问题,先是断电重启了两次,故障相同。点击备份硬盘,过了好几十秒弹窗提示硬盘无法挂载。此时发现:可能是硬盘的问题。
  3. 尝试DiskGenius并放弃。下载并尝试DiskGenius,发现对于数据恢复是需要购买专业版本的,而且价格不菲,需要五六百块钱。这个价格我还不如用淘宝的数据恢复服务,似乎还便宜得多。
  4. 尝试GParted缩小问题范围。通过Alternativeto网站推荐的GParted,找了个U盘,用GParted推荐的软件Unetbootin安装LiveCD AMD64版本。我是Intel CPU但是i686版本运行不起来,很奇怪,也可能是U盘有问题。启动后,发现虽然找硬盘要一两分钟,但是还能够发现这个硬盘的正确型号、容量,也识别出来了分区类型是Ext4。一共四个分区,前三个都很小,不到1G,最后一个分区占用了绝大多数空间,应该就是数据分区了。并且后两个分区有个黄色三角感叹号,表示读取有问题。尝试对分区Check,发现Super Block不能读取,Super Block是挂载分区必须的文件,有多个备份,按照这篇文章尝试恢复super block以及从备份的super block直接挂载,都失败了。再用Gparted里面的Device → Attempt Data Rescue选项尝试救援,但被告知无法读取file system文件系统。至此GParted恢复失败,但知道了Super Block, File System都不能指望了。文件系统是文件名和文件树存储的地方,丢了这个意味着文件名也都丢掉了。下面只能尝试绕过文件系统恢复文件了。
  5. 尝试TestDisk PhotoRec,恢复中。PhotoRec是TestDisk中的一个子软件,可以绕过文件系统直接恢复文件。应该是通过文件内容猜测文件类型,所以这个也只能受限于软件已知的文件类型了。据称可以恢复数百种文件类型。TestDisk的作用是恢复分区表,比如说是错误的删除了分区就可以恢复。通过GParted知道这个盘分区表没有丢,所以不需要使用,直接用PhotoRec就可以,官方教程图文并茂,可以依靠,绝大多数默认选项即可。只是在选择Free/Whole这一步的时候,默认选项Free是用来找回手动删除的文件的,这儿需要选择Whole,从全盘找回文件。PhotoRec恢复时间非常长,几个小时也才恢复了几十M而已, 这样下去不得恢复个好几年。网上搜索PhotoRec恢复时间的,确实有人说要恢复好几年。。。
  6. 尝试ddrescue. 使用ddrescue,先克隆到另一个好的磁盘里面。一开始速度还可以,有20M/s左右,过了一晚上,只有0.5M/s了,预计需要22天,没办法,只能找淘宝。
  7. 淘宝。先是10元做了一个远程,发现读写很慢,要求寄盘检测,同时寄一个好盘用来copy数据。报价是:不开盘150元,开盘450元。过了一天,通知我磁头损坏要开盘。。。虽然肉痛也只能答应啊。
    跟淘宝商家的客服和技术都确认了一下问题,是磁头坏了。在B站上看了有的恢复硬盘的视频,确实有磁头坏了的情况。与前面我试图软件恢复但恢复时间以年计算这一点来看,似乎也比较符合磁头损坏造成的结果。从我自己的PhotoRec软件恢复结果来看,无分发读取文件系统,恢复的照片中也有一张只有一半图像,看起来好像是磁头缺少磁力不能很好读取。
    从对方收到到对方寄出一共花了4天时间。第一天白天跟我确认是磁头问题需要开盘,当天晚上确认开盘。第三天中午跟我确认了恢复的数据目录和几个照片是否能打开,第四天早上说已经复制完数据,准备寄回。