找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888广告投放联系QQ68610888
查看: 19180|回复: 163

(20231016修改)弱主机UNRAID打造AIO之路 (篇二 LXC容器安装openwrt)

 火.. [复制链接]
发表于 2023-6-14 13:27 | 显示全部楼层 |阅读模式
本帖最后由 vsamlee 于 2023-10-16 21:59 编辑


一    Lxc启用
因为使用 systemd(Ubuntu,Debian Bookworm+,...)的发行版将无法工作,需要启用 cgroup v2
要启用 cgroup v2,请将以下内容附加到您的 syslinux.conf 并在之后重新启动
路径-->主界面-->Syslinux-->unraid OS-->append initrd=/bzroot 后面添加
       unraidcgroup2
修改后变成   append initrd=/bzroot unraidcgroup2
二    lxc容器目录结构及相关命令
(一)          目录结构
1        默认目录在/mnt/user/lxc,可以在设置中修改,我使用的默认,但是该目录缓存设置为“只在”,加速其运行。
2       当您用默认方式添加虚拟机时候,会有个cache文件夹,该文件夹存储的是拉取的rootfs镜像文件
3       其他目录是以您添加的虚拟机名称命名的目录,该目录内的结构如下
rootfs目录+config,虚拟机的配置在config中添加删减。rootfs目录内为该虚拟机的运行文件
不知道是什么样的,从默认服务器添加一个虚拟机熟悉一下就行了,(官方的openwrt只有几兆,下载运行非常快的)
如果您采用第三方的镜像,只要用第三方的镜像包解压后的文件替换rootf目录下所有文件即可。
4       默认拉取的包是“.tar.xz”,一般下载的第三方是“.tar.gz”。
(二)          相关命令
tar.gz文件解压
tar -zxvf /文件路径/文件名.tar.gz /解压后文件路径
三    openWRT安装。
(一)          准备阶段
自己编译或者找第三方下载后缀名为-rootfs.tar.gz的openwrt镜像文件
(二)          镜像安装(小白做法)
1        LXC页下载默认官方openWRT镜像
2       进入/mnt/user/lxc/虚拟机名/rootfs,删除所有文件
3       把-rootfs.tar.gz的openwrt镜像文件解压到/rootfs目录
         tar -zxvf /文件路径/文件名 /mnt/user/lxc/虚拟机名/rootfs
4       进入“/mnt/user/lxc/虚拟机名/”修改config文件为如下


# Template used to create this container: /usr/share/lxc/templates/lxc-download
# Parameters passed to the template: --dist openwrt --release 22.03 --arch amd64
# Template script checksum (SHA-1): 7067b9ffb52b0c1514c5e6773b18b8ed134072b5
# For additional config options, please look at lxc.container.conf(5)

# Uncomment the following line to support nesting containers:
#lxc.include = /usr/share/lxc/config/nesting.conf
# (Be aware this has security implications)

# 默认分发配置
lxc.include = /usr/share/lxc/config/common.conf
lxc.arch = linux64

# 自定义分发配置,建议不要动。
lxc.include = /etc/lxc/default.conf
lxc.include = /usr/share/lxc/config/userns.conf

lxc.mount.auto = proc:mixed sys:ro cgroup:mixed
lxc.mount.entry = /dev/net/tun dev/net/tun none rw,bind,create=file 0 0
lxc.mount.entry = /dev/ppp dev/ppp none rw,bind,optional,create=file 0 0
lxc.cgroup.devices.allow = a
lxc.cgroup2.devices.allow = a

# 容器特定配置
lxc.rootfs.path = dir:/mnt/user/lxc/容器名称/rootfs        #lxc虚拟机系统文件路径
lxc.uts.name = SamOS

# 配置文件夹映射,主要是把配置文件映射出来好修改。(需要把容器的etc配置文件先拷贝到主机文件夹内,容器内对应的文件夹内容删除)。
# lxc.mount.entry = 主机文件夹路径 /mnt/user/lxc/容器名称/rootfs/etc none bind 0 0
lxc.mount.entry = /mnt/user/Data/openwrt/etc /mnt/user/lxc/SamOS/rootfs/etc none bind 0 0

# 网络配置
# lxc.net.0.flags = up
# lxc.net.0.type = veth                #虚拟口“veth”,直通口“phys”
# lxc.net.0.link = br0                #该处为虚拟口的名称,直通的填写主机显示网口的名称(这是我的主机管理网口,一定不要直通,但是帅小伙都会搞直通,然后帅帅的问为啥进不去)。
# lxc.net.0.name = eth0                #虚拟机中显示网口的名称。
# lxc.net.0.hwaddr=88:88:88:88:88:86        #虚拟mac地址,不填写会自动生成。建议自己弄一个好记的,这样也好配置。
# 下面是我的四个网口配置,头两个口是虚拟网口,后两个是直通网口。

lxc.net.0.flags = up
lxc.net.0.type = veth
lxc.net.0.link = br0
lxc.net.0.name = eth0
lxc.net.0.hwaddr=88:88:88:88:88:86

lxc.net.1.flags = up
lxc.net.1.type = phys
lxc.net.1.link = eth1
lxc.net.1.name = eth1
#lxc.net.1.hwaddr=88:88:88:88:88:88

lxc.net.2.flags = up
lxc.net.2.type = phys
lxc.net.2.link = eth2
lxc.net.2.name = eth2

lxc.net.3.flags = up
lxc.net.3.type = phys
lxc.net.3.link = eth3
lxc.net.3.name = eth3

# 是否开机启动。(开机启动为“1”,否则为“0”,帅小伙们都会填写其他)
lxc.start.auto=1



如果该参数设置有错误,lxc面板页该虚拟机会消失。
另有其他参数,如指定cpu等等,在lxc官网思考。
四    附件Network参数
rootfs的路径/etc/config,直接打开复制粘贴(模板是eth3拨号)
(一)          官方固件配置

config interface 'loopback'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'
        option device 'lo'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'eth0'#(您的lan口)
        list ports 'eth1'#(您的lan口)
        list ports 'eth2'#(您的lan口)

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ipaddr '192.168.1.1'#(您的路由器地址)
        option netmask '255.255.255.0'
        option ip6assign '60'

config interface 'wan'
        option proto 'dhcp'
        option device 'eth3'#(您的wan口)

config interface 'wan6'
        option proto 'dhcpv6'
        option device 'eth3'#(您的wan口)
        option reqaddress 'try'
        option reqprefix 'auto'

(二)          Lead固件配置

config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fd0c:a7ec:3a43::/48'
        option packet_steering '1'

config interface 'lan'
        option type 'bridge'
        option proto 'static'
#(您的路由器地址)
        option ipaddr '192.168.1.1'
        option netmask '255.255.255.0'
        option ip6assign '60'
#(您的lan口)
        option ifname 'eth0 eth1 eth2'
        option dns '114.114.114.114 8.8.4.4 8.8.8.8'
        option delegate '0'

config interface 'wan'
        option proto 'pppoe'
#(拨号账号)
        option username '****'
#(拨号密码)
        option password '****'
        option ipv6 'auto'
        option keepalive '0'
#(您的拨号wan口)
        option ifname 'eth3'
        option delegate '0'

config interface 'wan6'
        option proto 'dhcpv6'
#(您的拨号wan口)
        option ifname 'eth3'
        option reqaddress 'try'
        option reqprefix 'auto'



unraid设置自动更新hosts,User Scripts中设置为每小时运行一次,“op容器名”根据自己的容器名称修改。
# 从第315行开始写入,315行可以根据自己的hosts修改。如果在lxc容器中已经etc文件夹已经映射,写入文件“/etc/hosts”路径需要改成映射后的实际路径比较好。
lxc-attach -n op容器名 -- sed -i '315,$d' /etc/hosts
# hosts读取路径及写入路径,如果在lxc容器中已经etc文件夹已经映射,写入文件“/mnt/user/lxc/op容器名/rootfs/etc/hosts”路径需要改成映射后的实际路径比较好。
lxc-attach -n op容器名 -- curl https://gitlab.com/ineo6/hosts/-/raw/master/next-hosts >> /mnt/user/lxc/op容器名/rootfs/etc/hosts
# 重启openwrt的dnsmasq
lxc-attach -n op容器名 -- /etc/init.d/dnsmasq restart




通过以上折腾,用LXC安装linux系统,用虚拟机安装windows系统,可以让弱性能主机能做到最优资源分配,发挥最大功效,可以再战几年没有问题的了。
config文件配置好了后,升级或者更改其他版本把镜像解压进去替换就可以了,特别人性化啊。
切记,LXC目录的文件不要修改权限,否则又要重新来过。但是优点也很明显,其采用的是目录形式存储文件,安装其他linux镜像可以直接进去修改文件内容,或者传输文件,降低了小白的难度。
从上述情况来看,Pve的LXC安装openWRT应该也不需要钩子脚本,少了很多步骤,有兴趣的可以折腾后反馈一下。


我是从6.11.5开始入坑,运行了半个多月完全没有问题,很稳定,很方便。
以前的我猜测是没有启用启用 cgroup v2,且没有配置好,我是看了很多资料和帖子,折腾了两个星期才搞定的。默认不修改config文件是可以运行,最大问题是不能拨号。

高手步骤(一共5步,几分钟搞定)
1、LXC目录新建以虚拟机名命名的文件夹,且新建一个config文件(无缀名);
2、编辑config文件(config编辑好了后,在LXC页面就可以看见该虚拟机了)
3、-rootfs.tar.gz的openwrt镜像文件解压到/rootfs目录;
4、修改编辑  rootfs路径/etc/config/network;
5、启动。


只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2023-6-14 14:23 | 显示全部楼层
本帖最后由 Concises 于 2023-6-14 14:24 编辑

原来unraid的lxc插件之前说很多系统启动不了是因为cgroup v2吗

点评

完全没有问题了,很稳定,很方便。  详情 回复 发表于 2023-6-14 14:24
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-6-14 14:24 | 显示全部楼层
本帖最后由 vsamlee 于 2023-6-14 14:27 编辑
Concises 发表于 2023-6-14 14:23
unraid的lxc插件之前不是有缺陷那 现在系统都能用了吧

以前的我不知道,我是从6.11.5开始入坑,完全没有问题了,很稳定,很方便。
以前的我觉得是使用者没有启用启用 cgroup v2,且没有配置好,我是看了很多资料,折腾了两个星期才搞定的。默认不修改config文件是可以运行,最大问题是不能拨号。

点评

好的 找机会试一下 心动很久了  详情 回复 发表于 2023-6-14 14:26
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-6-14 14:26 | 显示全部楼层
vsamlee 发表于 2023-6-14 14:24
完全没有问题了,很稳定,很方便。

好的 找机会试一下 心动很久了

点评

我就是用了pve后感觉lxc非常棒,所以才下定决心折腾这个的。  详情 回复 发表于 2023-6-14 14:29
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-6-14 14:29 | 显示全部楼层
Concises 发表于 2023-6-14 14:26
好的 找机会试一下 心动很久了

我就是用了pve后感觉lxc非常棒,所以才下定决心折腾这个的。
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-6-14 14:58 | 显示全部楼层
好的 找机会试一下 心动很久了
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-6-15 08:25 | 显示全部楼层
围观思考一下
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-6-15 08:32 | 显示全部楼层
思考思考
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-6-16 16:16 | 显示全部楼层
我之前也是打算lxc搞得,装完了发现连不上网,估计是少什么东西

点评

和你一样折腾了好几天,op能联网,openclash不能联网!  详情 回复 发表于 2023-8-2 14:11
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-6-16 18:39 | 显示全部楼层
看下是啥玩意
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-6-19 23:54 | 显示全部楼层
看看怎么配置
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-6-20 08:53 | 显示全部楼层
好东西,思考一下
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-6-20 10:42 | 显示全部楼层
感谢分享
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-6-23 16:47 | 显示全部楼层
思考思考致敬
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-6-23 20:33 | 显示全部楼层
感谢分享 分享分享
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-12-7 12:43

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表