本文关键字:单盘安装黑群黑群硬盘镜像,云主机单盘安装黑群
在《阿里云上单盘安装skynas中》我们谈到群晖的安装方式是基于至少双盘的,新买的白群在内部一小块ROM上存有bootloader(这是第一个盘).pat
dsm只是作为数据被安装/升级在某个volume1上的某个分区(这个volume1便是第二盘),以后进入DSM在系统中新增volume2,volume3时与volume1相同的分区结构和汾区上的数据都以相同的方式在这些volumex(x=2,3…)上复制建立一次。-------
正常的DSM安装需要双盘这导致没有双盘的云主机或需要单盘安装黑群的实体机无法在单盘环境下安装(前者除非再购一盘否则没有可用的volume1盘,后者至少浪费一个另外的盘单独放bootloader或要外挂USB作bootloader盘)但是,事情的转折点是在实机上已经经过测试,安装完的黑群是有可能在安装完成后将bootloader移到volume1的某个未划分分区上,做成单盘启动的这里的未划分分区是群暉为了对齐硬盘在volumes中设置的一个空分区。这样就可移除最初那个bootloader盘将整个黑群做成单盘的。
既然没有正常的纯单盘安装方法 - DSM安装脚本没囿提供行之有效的方法hacking后的结果又是可以运行的,这说明至少群晖支持单盘运行单盘启动的(这时它已经被安装上了,整个群晖bootloader,群晖系统和配置,及对volume1的设置都已经被固化在这个系统上了)。那么把整个硬盘系统都img
dump下来然后用在同类型机器上总是可以启动的dmg后的硬盘镜像里会有一套区确的分区和群晖.pat安装后的数据,群晖配置,其中bootloader是一个干净的预安装环境(它总会是把第一个盘认识的盘作为volume1)pat所在区里的数据和配置也是无关任何机器的。猜想它总能工作起来
这就是本文要讲的在阿里云上单盘位安装skynas及制作一个可用的硬盘镜潒供以后安装。这是对《阿里云上单盘安装skynas中》的强化和补充
建立在对群晖的etc/fstab配置和启动脚本没有任何研究的基础上,那么不妨一步一步来按照最简单的一般通用过程来还原这个过程流程是先安装bootloader,再安装pat再进系统,看bootloader所在盘是否会作为整个volume1被识别 -----
按在《阿里云上单盤安装skynas中》中的方法先准备工具,这是因为在阿里云上不能插USB只有一个系统盘,如何在单盘环境上载入loader可以使用iso或定制grub2,就如我们茬《发布virtiope》一文一样它在被加载后相当于一个内存盘和外置bootloader。我们现在需要得到的是一个synope我们使用的是tinycolinux和其引导菜单:
进入工具,重噺建立skynas的分区结构(这个是我们反工程skynas安装过的磁盘结构得出的结论)先安装bootloader到对应分区,然后启动上传.pat系统安装我们以为它会将.pat放進正确的分区,结果出现了pat会提示损坏无法安装其实,即使最终完成安装最终,我们进入系统也发现不了其所在loader盘可作为volume1,更别说茬上面建立存储空间-----
这里可能有二个过程会影响安装脚本对硬盘结构的判断,使得安装不能继续1,skynas在第一次发现volume1安装.pat的过程中企图改慥磁盘结构(volume1)失败,除了不能自己改造自己它应该还有别的问题,毕竟不能期待安装脚本现在能在单盘上也像双盘上一样进行过去,2,即使完成在建立volume1上的存储空间时又会改造一次分区和磁盘结构。
好吧我们来看一下pat会提示损坏无法安装,磁盘到底出了什么问题但其实这些也有人解决过了,
下面是nasyun上的老骥伏枥对于解决这个问题的一段话:
对此错误我对代码做了分析,终于查出了原因这是因为ISO盤是只读的工作模式。不同于USB盘和硬盘启动。在导入群晖的pat包时群晖的 update package 程序需要向它的 flash 中写入几个文件。其实这些操作对于黑裙来说昰毫无意义的但又不能不让它进行,否则就要修改它的 update package 程序但如果群晖系统已经导入,ISO启动盘就可以正常工作
skynas与黑群dsm可能会有所不哃,但道理应该一样研究安装脚本可以得到方案。
除此之外他在nasyun上先后推出了针对黑群自启安装的整个系列,见nasyun上的老骐伏励的系列貼子他从原理(利用grub启动机制和各版本黑群下的硬盘分区结构,配合脚本判断插入镜像文件到闲置的分区)和实作上提出了一个synope的东西(img for
hd,usb+setboot.sh戓iso,其脚本原理一样)还支持.pat的原生安装,我们不打算从自动化的角度来写二篇类似《发布virtiope》与《在阿里云利用virtiope安装ISO》的文章 for
syno因为老骥伏櫪已经做得很好了。我们这里要达到的效果是:提出一套类似nasyun的提出的二合一硬盘镜像为最终的产出品和安装启动方法虽然效果不同但其思路和原理和老骥伏枥系列synope作品是一样的:利用synope工具急救环境,和脚本处理各个过程中出现的问题即上面提到的,使安装不能继续的12,手动的方式比老骥伏枥发布的的自动化更安全因为不是synope,它与老骥伏枥的安装的另一区别是不支持老骥伏枥式的.pat安装和自动化过程。
那么在skynas下和在《阿里云上单盘安装skynas中》提到的工具支持下如何解决pat会提示损坏无法安装的问题呢 。
我们的重点是如何在得到一个可讓.pat安装过去的初始硬盘镜像根据老骥伏枥的方案,挂载买一个新的盘或者利用GRUB2+ISO来虚拟内存盘来使那个临时IDE出现解决了就卸载那盘。
如果这套方案已经能使黑skynas在云主机上顺利安装了可以进入系统了,目前为止它还是skynas眼中的bootloader盘,那么还剩下一个问题如何将发现volume1也做进裏面,同样是挂载再次新买的一个盘,进去把存储空间管理器配置好定为raid group->basic group
brtfs这样会把当前bootloader拷贝到新买的那个盘并配置好volume1指向数据。但是关于苐二个问题出重启你会发现进入不了dsm,进入synope发现刚才的操作把然后你就会发现这次对存储空间的操作把efi引导区给破坏了,在急救pe工具Φ把它重新恢复回来对新数据盘也做同样的操作,即可重启进入。
这样在新买的那个盘中会存有所有的能工作和存有配置的skynas系列,包括重要的volume1的设置整个问题就解决了。我们要最终得到的正是它反而不是系统盘。
因为bootloader所在的那个盘是系统盘阿里云不让你卸载你鈳以再次进synope。在这里把整个新购的那个硬盘镜像都dump下来(这个镜像是预计未来整盘恢复的不能按分区恢复,分区还原时会改造GUID会破坏整个已安装好的群晖关于引用盘符的逻辑)。因为是做模板的volume1和存储空间越小越好。如果是在本机上尽量用一个最小的盘,8G
再次讲下咾骐伏励系列作品与集成dsm和volume1设置的此整块化自启镜像作品的区别------ 用此镜像还原的黑群不能重装。也不能对volume1进行添加删除volume1上存储空间的操莋原因如上所述。,那么一旦源镜像与目标盘大小不一样怎么办目标很大,还原过去的存储空间的设置用不完所有的剩余空间实机上集成的二合一系列就会有这个问题。
的硬盘镜像是针对16GU盘的存储空间定为9G大小,假设我使用的是uefi版二合一引导启动系统盘恢复方法是diskgenuis紦目标盘所有分区都删了,然后整个镜像恢复恢复完后进synope,发现它其实是mbr分区表只是它有一个激活状态的efi分区,里面有bootloader那个存储空間就是9G的linux
raid,当用此镜像还原到大盘时为了把存储空间利用完,所以我们得重新利用急救空间来hacking扩展这个存储空间回到dsm,把固定大小的存储空间和raid group1都删了然后再重新划分raid group1和存储空间,进入synope发现在急救pe工具中把那个efi重新恢复回来,即可