|
本帖最后由 zhangkai1122 于 2022-1-11 13:52 编辑
最终实现win8.1+黑裙+Debian作为Docker用(LXC)+openwrt(LXC)
本贴是做整理和分享帖 有转载部分大佬的资源 要是侵犯大佬们的权益请私信我我会删帖
用到SSH工具FinalShell,PVE版本6.2.4(7.0的LXC有兼容问题本人小白就选择成熟一些的6,兼容问题是间歇性的断网还有tun端口重启openwrt会短暂失效 经查是PVE7升级了cgroupv2 )
1.LXC装OPENWRT(LXC)
为什么要用LXC装op,创建一个虚拟机要模拟一个PC环境,很大的性能损失。op主机模式跑满千兆占用宿主机30%左右CPU还可能跑不满,但是LXC容器模式CPU波动跑满才5%左右。
(1)、固件选用我选择:【2022-1-1更新】OpenWrt ipv6/docker/大全版/极致版养老固件 丰富插件免费使用 - 软路由,x86系统,openwrt(x86) 等 - 恩山无线论坛 - Powered by Discuz! (right.com.cn) 大佬的大全版,当然你有别的也随你
(2)、打开大全版-是一个img文件 用windows的7zip软件打开这个img ,解压出里面最大的文件 一般里面是三个文件0.img 1.img 2.img 假设我是1.img最大 解压出来备用
(3)、打开FinalShell-链接到PVE宿主机打开目录/var/lib/vz/template/cache,把刚才的1.img上传到这里
在打命令行:- apt install squashfs-tools
- cd /var/lib/vz/template/cache
- unsquashfs 1.img
- cd squashfs-root
- tar zcf ../openwrt.tar.gz ./*
复制代码
清理临时文件
- rm -R /var/lib/vz/template/cache/squashfs-root
- rm -f 1.img
复制代码 (4)、创建LXC容器
- pct create 100 local:vztmpl/openwrt.tar.gz --rootfs local-lvm:1 --ostype unmanaged --hostname OpenWrtAll --arch amd64 --cores 2 --memory 512 --swap 0 -net0 bridge=vmbr0,name=eth0
复制代码 命令解释
100=PVE的ID
--hostname OpenWrtAll DNS域名随你改
--cores 2 分配两个核心(J4125四核的 分两个够够的)
--memory 512 运行内存分配512M这个512足够了 256都够了
-net0 bridge=vmbr0,name=eth0 op内部网络eth0桥接宿主机vmbr0(你要拨号的话 就加一条桥接-net1 bridge=vmbr1,name=eth1按需)
(5)、然后
(6)、以下代码添加到最后(转载Proxmox VE pve虚拟机LXC容器运行openwrt使用模板创建安装 - It小小鸟 itxiaoniao.cn)
- lxc.mount.auto: cgroup:rw
- lxc.mount.auto: proc:rw
- lxc.mount.auto: sys:rw
- lxc.include: /usr/share/lxc/config/openwrt.common.conf
- lxc.cap.drop: sys_admin
- lxc.apparmor.profile: unconfined
- lxc.cgroup.devices.allow: c 108:0 rwm
- lxc.autodev: 1
- lxc.cgroup.devices.allow: c 10:200 rwm
- lxc.hook.autodev: /var/lib/lxc/100/device_hook.sh
- lxc.mount.entry: tmp tmp tmpfs rw,nodev,relatime,mode=1777 0 0
复制代码 添加后就是这样的
- arch: amd64
- cores: 2
- hostname: OpenWrt
- memory: 512
- net0: name=eth0,bridge=vmbr0,hwaddr=BA:9E:BF:E9:1A:00,type=veth
- onboot: 1
- ostype: unmanaged
- rootfs: local-lvm:vm-100-disk-0,size=2G
- swap: 0
- lxc.mount.auto: cgroup:rw
- lxc.mount.auto: proc:rw
- lxc.mount.auto: sys:rw
- lxc.include: /usr/share/lxc/config/openwrt.common.conf
- lxc.cap.drop: sys_admin
- lxc.apparmor.profile: unconfined
- lxc.cgroup.devices.allow: c 108:0 rwm
- lxc.autodev: 1
- lxc.cgroup.devices.allow: c 10:200 rwm
- lxc.hook.autodev: /var/lib/lxc/100/device_hook.sh
- lxc.mount.entry: tmp tmp tmpfs rw,nodev,relatime,mode=1777 0 0
复制代码 (7)、将附件中的 device_hook.sh解压并 复制到宿主机的/var/lib/lxc/100下面然后打命令加权限
- chmod +x /var/lib/lxc/201/device_hook.sh
复制代码 (8)、打开你的PVE的后台启动openwrt
在容器内
更改lan口部分 其他不动
- config interface 'lan'
- option type 'bridge'
- option ifname 'eth0'
- option proto 'static'
- option ipaddr '192.168.123.100'
- option netmask '255.255.255.0'
- option ip6assign '60'
- option gateway '192.168.123.1'
- option broadcast '192.168.123.255'
- option dns '192.168.123.1'
复制代码 所有的 192.168.123.x 需要根据设备所处网段修改,option gateway和option dns填写路由器的 IP
(9)、按需更改:wq保存
接着重启openwrt网络
- /etc/init.d/network restart
复制代码 就可以进入openwrt后台了 这时的openwrt可以用需要tun的zerotier和拨号 ,但是这个固件的一些专属内核特性不可用 这个是因为LXC容器都是共享宿主机的内核用的
附测速(我还跑了十几个docker)
2.安装黑裙
黑裙就用来当NAS就行了啊 别跑docker拉低整个宿主机的效能!!!!!!黑裙就用来当NAS就行了啊 别跑docker拉低整个宿主机的效能!!!!!!
(1)、黑裙资料下载(支持VirtIO (半虚拟化)):链接:https://pan.baidu.com/s/1nY-ipJ2MfN21EuxX1qt8PA 提取码:cse9
(2)、创建虚拟机
- 所有的都默认 网卡选择VirtIO 不需要CD/DVD 创建好不要启动分离并删除所有未使用的磁盘
(3)、打开PVE后台 上传ISO模板 直接上传资料里的DS3617xs_DSM6.1_Broadwell.img文件
(4)、SSH到PVE 打命令
- qm importdisk 103 /var/lib/vz/template/iso/DS3617xs_DSM6.1_Broadwell.img local-lvm
复制代码 里头的103要改成你群辉的ID
(5)、回到PVE后台群辉硬件选择卡 有一个未分配磁盘 双击 总线改成SATA 添加
(6)、在添加一块储存盘(一定要先添加未分配在来添加储存盘)
(7)、在改一下引导顺序为刚才添加的磁盘SATA0
(8)、启动 过一分钟
- 然后就可以在路由器后台找到群辉了 进去http://ip:5000配置
3.安装docker跑东哥和其他的东西
因为虚拟机内是比较消耗资源的 虽说界面友好但不建议用来跑docker 故此需要套娃LXC内安装docker 是最佳之选 为何不在PVE直接安装DOCKER? 那也可以 只不过会污染PVE的环境 作为容器想不要就删除的LXC 太赞了
可以选择ubuntu/centos作为模板 PVE自带的没有SSH还臃肿 我这里推荐【系统镜像】Debian 10 LXC/OVZ 最新模板 v1.3(开启SSH、时区、优化) - CXT - Enjoy Life | 生活、技术、交友、分享 (cxthhhhh.com) 大佬做的DEBIAN 10 默认优化和开启SSH 可以去他博客下载 也可以在我转存的 下载地址:链接: https://pan.baidu.com/s/1DguXgmfMNLn8dPANdCkeOA 提取码: ydfg 复制这段内容后打开百度网盘手机App,操作更方便哦
(1.)首先需要新建CT容器
这里注意取消无特权的容器钩钩 不选择特权的话会无法使用FUSE 也就是不能挂载网络硬盘还有不能读写直通硬盘!!!!
模板选择debian
磁盘大小随意 要装docker数据
(2)其他步骤都是默认 内存建议2048(具体看你使用) 建立之后不要马上启动容器 点击新建的docker容器选择选项-双击签名-勾选如下图
(3)SSH链接到PVE主机
- 101改成docker 对应的ID
- 在配置文件后面加上
- lxc.apparmor.profile: unconfined
- lxc.mount.auto: cgroup:rw
- lxc.mount.auto: proc:rw
- lxc.mount.auto: sys:rw
- lxc.cap.drop:
- lxc.cgroup.devices.allow: a
- lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file
复制代码- 不加这些命令启动docker直接报权限问题
- 最后一条是直通核显 你的核显有他用的话 可以不加 我这里加了是要硬解视频
- :wq保存
- 启动docker找到路由器里面为docker 分配的ip
- 输入你的root和密码
- 具体怎么安装docker就不说了 网上教学太多了 这个LXC容器有完整的linux功能可以挂载网络硬盘还可以玩jellyfin硬解
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
评分
-
查看全部评分
|