• 那是云首页
  • 快捷导航
  • 更多
    设为首页收藏本站
  • |
花生壳

群晖上云服务器,完成度90%!!

群晖 Synology  / 教程分享  / 正序浏览   © 著作权归作者本人所有

#楼主# 2020-5-13 16:43

跳转到指定楼层
本帖最后由 tiandishi 于 2020-5-23 14:09 编辑

目前个人尝试将群晖部署在云服务器上,云服务器稳定、安静,跑群晖挺合适的。

进过一周的折腾,终于将群晖搬上了云服务器,虽然目前不完美,但是可以run了。立帖纪念。更新:目前已经完美运行
本贴为技术贴,提供上云思路和问题解决方案,小白教程还需要等等。本帖会逐步细化完善。


上云思路:
国内云厂商ecs基本都是基于kvm的虚拟化。大厂如阿里、腾讯、华为、百度都支持自定义镜像。其对自定义系统集成有如下要求:


云厂商要求上云面对的问题解决方案
1、系统盘就是引导盘,不支持独立引导,额外购买硬盘要银子。
黑群晖往往需要独立的盘位做引导老骥伏枥大神的二合一方案,系统引导集成到一个磁盘
2、必须有virtio_net 和virtio_blk驱动
网络驱动已经完善,但是virtio_blk驱动不认盘。不认盘是因为virtio_blk驱动默认将设备命名为vda,vdb,dsm不认这种盘。解决为:通过编译内核重新命名,但也带来了新的问题:启动内核时需要修改逻辑,使得dsm系统阵列正常加载
3、cloud init (非必须)无问题可忽略





本教程主要面向技术折腾人员,要求看官有基本的linux操作能力,主要解决第二个问题,认盘问题。


镜像制作步骤:
1、制作二合一镜像,作为折腾母镜像
2、修改extra.lzma,集成virtio相关驱动内核,识别虚拟硬盘
3、修改extra.lzma,阵列修复,使系统正常启动


本教程基于 jun大引导 1.02b 3615xs  6.1.7系统制作 ,6.1系列教程较完善,包括驱动、二合一等,便于处理不少问题,选3615xs是因为云服务器就2核。。


准备工作:
名称作用选择原因
jun大引导 1.02b 3615xs万恶的折腾根源6.1系列教程较完善,包括驱动、二合一等,3615xs是因为云服务器就2核
群晖tool chain 以及对应的内核修改内核,编译驱动
云服务器部署有免费试用如华为云,没有的可选按量付费,测一天撑死不超过5块,一般几毛就测半天
个人测试kvm环境,本人推荐proxmox测试好用



步骤:
一:制作二合一
此处可搜到网上相关教程,本人提供下路子,避免少走弯路:
1.虚拟机一块jun大引导,一块20g左右的虚拟盘,安装好群晖系统 6.1.7,并初始化:添加磁盘和共享数据目录。
2.写入老骥伏枥引导,将jun大引导镜像里面的 extra.lzma、 rd.gz 、 zImage 覆盖到 /boot/grub/DS3617xs 下同名文件。这时候第一步就算完成了。
3.登入系统,获取阵列信息,命令为 mdadm --detail --scan > /etc/mdadm.conf ,拷贝一份 mdadm.conf到系统外,后面有用到。


说明:后面折腾过程主要就是不断打包替换 jun大的extra.lzma 的过程,中间容易出错,不过启动不了的时候将引导换为jun大的启动盘再就好了,再继续替换,不影响dsm系统。



二:添加virtio驱动
1、下载 http://www.nasyun.com/forum.php?mod=viewthread&tid=31988&page=1 的启动文件,提取extra.lzma下的virtio_开头的驱动,该内核被人测试过,所以懒的编译的直接拿来用就行
2、下载本人提供的 virtio_blk 驱动,替换上面的virtio_blk驱动。该驱动可将vda虚拟盘识别成sda盘。


驱动修改原理: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/drivers/block/virtio_blk.c?h=v3.16.83 修改
virtblk_name_format("vd", index, vblk->disk->disk_name, DISK_NAME_LEN);
这一行的vd为sd,即可被群晖识别。注意上述链接不是黑群晖的内核,只是linux的 virtio_blk驱动都用这个
再将添加的驱动更新到rc.modules,打包到extra.lzma即可。

驱动编译教程(包含extra.lzma解包和压缩教程):
https://xpenology.com/forum/topic/7341-tutorial-compile-xpenology-drivers-in-windows-10/

说明:这里打包的extra.lzma替换到jun大的引导镜像,就可以正确识盘并安装系统。但是无法正常启动,那就是群晖系统导致的原因了。

三:修复阵列无法识别的问题:



vd改为sd,重新编译后得到 virtio_blk.ko,打包进引导镜像,目前可以正确识别硬盘为sda 并安装  3615xs, 6.17,15284  版本的系统.
但是启动时发现无法识别群晖的/dev/md0 /dev/md1 软raid系统,导致认定系统未安装,重新进入安装界面.
观察内核日志报错:
  1. [size=3]:: Starting /usr/syno/bin/synocfgen...

  2. /usr/syno/bin/synocfgen returns 0

  3. Partition Version=0

  4. Partition layout is not DiskStation style.[/size]
复制代码
问题分析:参考: https://github.com/sancome/DSM-5.0-4458_dsgpl-4418/blob/master/xpenology/patches-rd-gz-alpha9/rd-orig/linuxrc.synodsm单盘系统盘是一个软raid1的软阵列,黑裙引导的时候需要识别这个阵列并加载阵列的系统。不知什么原因当硬盘类型为virtio_blk(上述厂商都是这种虚拟硬盘,因为虚拟性能好)的时候,内核启动检测阵列使用的 mdadm --auto-detect 这个命令不会映射virtio_blk到阵列专用的设备符/dev/md0,进一步导致内核执行/usr/syno/bin/synocheckpartition 的时候返回结果为Partition Version=0 ;需要替换为 mdadm --assemble --scan  ,这样可以正常识别阵列分区, /usr/syno/bin/synocheckpartition 返回正常结果  Partition Version=8. .解决方案:
1、解包extra.lzma,在etc下添加 第一步得到的. mdadm.conf 配置文件。
2、修改linuxrc.syno的补丁文件jun.patch ,在内核挂载阵列设备 /dev/md0 前执行 mdadm --assemble --scan,该命令优先读取上面的配置文件,识别出硬盘阵列,然后后面的挂载系统能顺利执行。
3、打包extra.lzma ,扔进引导。

自此,二合一+kvm完整驱动就集成完成了,将镜像导出成qcow2格式上传到云厂商部署即可,注意打开防火墙5000-5001端口访问。

现存的问题:目前进入进系统后会提示无数据卷,需要新创建数据卷,怀疑是二合一镜像打包有些问题,不过相信会比较快的解决。



附件提供
1、集成所有驱动、更改md检测的的extra.lzma文件,注意替换或删除 etc下面的mdadm.conf 文件,不然应该是识别不到你的盘的。
2、单独的virtio_blk驱动,仅仅适用于3.10.102内核编译的系统。

kvmdrive.zip (1.84 MB, 下载次数: 48)
3、提供quicknick镜像修改版,经过腾讯云2核intel e5 的 ecs测试可安装系统,修改grub.cfg的mac地址为虚拟网卡地址,镜像导入采用强制模式。
https://tt1-1251225920.cos.ap-chengdu.myqcloud.com/XPEnology_DS3615xs_6.1.x-quicknick.img



补充内容 (2020-6-3 18:49):
和原版引导相比,改动如下:
1、extra.lzma  /usr/lib/modules/ 添加virtio系列驱动
2、extra.lzma  /etc/rc.modules /virtio添加驱动
3、extra.lzma /etc/mdadm.conf 配置文件
4、extra.lzma /etc/jun.pat 启动逻辑

补充内容 (2020-6-3 18:49):
4、extra.lzma /etc/jun.pacht 启动逻辑
那是云论坛 - 国内知名的NAS交流平台
http://www.nasyun.com
分享淘帖
回复 印象

使用道具

0

精华

11

回帖

59

积分

入门用户

Rank: 1

云币
0
贡献
0
活跃
53
精华
0
mawenwen46 发表于 2020-12-27 13:45 来自 中国广东深圳
群晖和阿里合作有一个SkyNAS应该和楼主的设想是一致的,可惜了一个月30(仅镜像使用费)毫无竞争力。
回复 支持 反对 印象

使用道具 举报

0

精华

18

回帖

104

积分

入门用户

Rank: 1

云币
0
贡献
2
活跃
84
精华
0
lndisk 发表于 2020-11-18 10:28 来自 中国辽宁沈阳
有没有做好的 qcow2 镜像下载呢
回复 支持 反对 印象

使用道具 举报

0

精华

18

回帖

104

积分

入门用户

Rank: 1

云币
0
贡献
2
活跃
84
精华
0
lndisk 发表于 2020-11-17 16:37 来自 中国辽宁沈阳
可能是你没把U盘的VID和PID写入配置文件,所以就当成U盘显示了。
回复 支持 反对 印象

使用道具 举报

0

精华

158

回帖

2329

积分

搞机大神

Rank: 3Rank: 3

云币
0
贡献
186
活跃
1311
精华
0
cglzyz 发表于 2020-11-9 14:49 来自 中国河南濮阳
cllsi 发表于 2020-5-26 07:27
题外话:黑群辉安装6,2以上系统,为什么启动后群辉桌面自动挂载系统启动U盘分区为共享目录,桌面有插入U盘 ...

可能是你没把U盘的VID和PID写入配置文件,所以就当成U盘显示了。
回复 支持 反对 印象

使用道具 举报

0

精华

18

回帖

392

积分

入门用户

Rank: 1

云币
0
贡献
6
活跃
351
精华
0
tiandishi 发表于 2020-11-8 10:11 来自 中国湖北武汉
qw6695561 发表于 2020-11-4 14:10
老哥,方便提供一下https://tt1-1251225920.cos.ap-chengdu.myqcloud.com/XPEnology_DS3615xs_6.1.x-quickn ...

https://www.cnblogs.com/minlearn/p/13789846.html
回复 支持 反对 印象

使用道具 举报

0

精华

5

回帖

62

积分

入门用户

Rank: 1

云币
0
贡献
1
活跃
54
精华
0
qw6695561 发表于 2020-11-4 14:10 来自 中国山东
老哥,方便提供一下https://tt1-1251225920.cos.ap-chengdu.myqcloud.com/XPEnology_DS3615xs_6.1.x-quicknick.img这个文件吗!!!!我有个云平台急需安装!!谢谢大哥,有偿也接受哦!!!!

点评

https://www.cnblogs.com/minlearn/p/13789846.html  详情 回复 发表于 2020-11-8 10:11
回复 支持 反对 印象

使用道具 举报

0

精华

67

回帖

534

积分

入门用户

Rank: 1

云币
0
贡献
0
活跃
500
精华
0
cllsi 发表于 2020-5-26 07:27 来自 中国广西河池
题外话:黑群辉安装6,2以上系统,为什么启动后群辉桌面自动挂载系统启动U盘分区为共享目录,桌面有插入U盘图标。6.1系统就没有。

点评

可能是你没把U盘的VID和PID写入配置文件,所以就当成U盘显示了。  详情 回复 发表于 2020-11-9 14:49
回复 支持 反对 印象

使用道具 举报

0

精华

13

回帖

4569

积分

搞机大神

Rank: 3Rank: 3

云币
0
贡献
22
活跃
4452
精华
0
zhangnew 发表于 2020-5-25 18:07 来自 中国北京
厉害啊,楼主太优秀了
回复 支持 反对 印象

使用道具 举报

0

精华

89

回帖

1603

积分

发烧玩家

Rank: 2

云币
0
贡献
67
活跃
1223
精华
0
lewo16 发表于 2020-5-20 08:27 来自 中国云南玉溪
谢谢大神分享!!!
回复 支持 反对 印象

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于作者

tiandishi

入门用户

  • 主题

    3

  • 帖子

    21

  • 关注者

    13

etsme
快速回复 返回列表 搜索 官方QQ群
懒人地图| 手机版|小黑屋| 智能生活 , 上那是云 |闽ICP备2020018196号-1 |网站地图