旧笔记本废物利用当NAS(PVE+群晖)
导读
旧笔记本当NAS用有3大优点
1 价格便宜
网上300多就有大量3代I5及以后的二手本可以选购,用自己手里退役的更是划算。
2 不惧断电
自带电池,断电相当于有UPS,数据安全有保障。
3 相对省电
笔记本比相起台式机还是更省电一点,适合长期使用。
缺点就是自身的硬盘挂载能力弱,适合数据存储量不大的人,或者可以加USB移动硬盘盒、自带电源的硬盘柜。
系统选择
基础系统个人是选择PVE,选择PVE是因为用的人多技术支持丰富,网上大把教程,
快照、备份、还原等功能强大,即使系统崩了也不怕随时秒还原,
有集群如果以后升级转移也方便。
NAS系统选择群晖,群晖是当下NAS系统的不二之选,简洁美观,套件丰富。
PVE笔记本安装过程
1 安装PVE
ventoy 安装U盘加PVE安装镜像
2 PVE优化
PVE 脚本工具 pve_source | Pve_Tools
两个脚本与都可以完成相应功能。
pve_source 安装
wget q O /root/pve_source.tar.gz 'https://bbs.x86pi.cn/file/topic/20231128/file/01ac88d7d2b840cb88c15cb5e19d4305b2.gz' && tar zxvf /root/pve_source.tar.gz && /root/./pve_source
脚本加载成功出现使用协议,输入 Y,然后继续按回车。
启动工具
./pve_source
3 安装桌面
笔记本自带屏幕,装个类似Windows的桌面环境临时也可以应急用。
kde plasma桌面 、时区、中文环境及字体、输入法
更新:
sudo apt update && sudo apt upgrade
安装 KDE Plasma 桌面:
sudo aptget install kdeplasmadesktop
设置时区
imedatectl settimezone Asia/Shanghai
设置中文环境
aptget install languagepackzhhans languagepackzhhansbase
如果提示找不到软件包那就安装locales软件包,然后生成中文语言环境。
sudo aptget install y locales然后按提示给作
安装中文字体:例如,安装文泉驿字体:
sudo apt install fontswqyzenhei
安装中文输入法:
你可以选择多种中文输入法,比如Fcitx或IBus。以下是安装Fcitx输入法的示例:这里举例googlepinyin
sudo apt install fcitx
sudo apt install fcitxgooglepinyin
4创建新用户
因为debian图形界面不支持root用户登录,所以添加一个桌面使用用户
sudo adduser 用户名
将用户添加到sudo组
sudo usermod aG sudo 用户名
5 笔记本合盖不休猛娆有3种方法
笔记本当NAS当然要合盖,但一般合盖会导致笔记本休眠所以要设置下。
编辑/etc/systemd/logind.conf文件
找到#HandleLidSwitch这一行,意思是合上笔记本上盖后的行为,默认suspend,
修改为ignore(即合盖不休眠),然后还要去掉前面注释的#,保存文件。
重启systemd服务,如下命令:
service systemdlogind restart
手动关闭屏幕
a. 安装vbetool软件:aptget install vbetool
b. 用此命令关闭显示器:vbetool dpms off
如果你想打开显示器用命令:vbetool dpms on
kde plasma桌面的高级设置电源管理节能选项
1把交流、电池、电量低3个按键事件处理都设置成合盖为关闭显示器
2把电池电量低的运行脚本勾上,选择脚本,脚本内容就是下面的第6大项,然后应用保存。我是把脚本复制到桌面了。
3电源管理高级设置选项,把低电量百分百设置下,电池不行了就设高点,应用保存。
6 设置低电量自动关机脚本
在kde plasma的电源设置里设置低电量时自动运行休眠脚本,防止停电危害数据安全,脚本如下。
(PVE中的休眠是把群晖虚拟机挂起到硬盘,不能用暂停,暂停是挂起到内存重启就没了形同强制断电)
#!/bin/bash
# 把101改成你要休眠的虚拟机ID
VM_ID=101
# 休眠虚拟机
echo "你的root密码" | sudo S qm suspend $VM_ID todisk
# 检查上一个命令的退出状态,0表示成功,非0表示失败
if [ $? eq 0 ]; then
echo "虚拟机 $VM_ID 已成功休眠到硬盘"
else
echo "休眠虚拟机 $VM_ID 失败"
fi
如果害怕明文root密码泄漏,那就需要修改/etc/sudoers把你的账号设置成可以免密以root权限运行,
然后再去掉脚本中的 echo "你的root密码" | 和 S这个参数
visudo命令,然后添加下面一段
你的账号名称 ALL=(root) NOPASSWD:ALL
保存以上最终脚本内容到一个文件,例如suspend_vm_101.sh
最后给脚本添加执行权限
chmod +x suspend_vm_101.sh
7 设置开机解锁脚本
假如停电后笔记本低电量自动关机,来电后自动启动
因为我的群晖还挂了USB移动硬盘,可能是因为挂起导致USB移动硬盘未正常推出,开机后虚拟机会被锁定无法正常启动。
所以设置PVE开机解锁并启动虚拟机的脚本,来电自启后群晖虚拟机正常启动。脚本如下
#!/bin/bash
# 把101改成你的虚拟机ID
qm unlock 101
# 等待5秒
sleep 5
# 启动虚拟机101
qm start 101
保存以上内容到一个文件,例如start_vm_101.sh,然后通过终端运行以下命令给文件添加执行权限:
chmod +x start_vm_101.sh
再把脚本设置为启动运行,以下是如何创建一个systemd服务来在PVE启动时解锁并启动虚拟机101的步骤:
创建systemd服务文件
打开终端并创建一个新的服务文件:
sudo nano /etc/systemd/system/start_vm_101.service
编辑服务文件
将以下内容添加到服务文件中:
ini[Unit]
Description=Unlock and start VM 101 on boot
After=network.target
[Service]
Type=oneshot
ExecStart=/path/to/your/start_vm_101.sh
RemainAfterExit=yes
[Install]
WantedBy=multiuser.target
请确保将脚本中/path/to/your/start_vm_101.sh替换为您的脚本的实际路径。
8 虚拟机群晖就不展开了
现在的RR引导已经相当简单好用,其他教程网上也是大把
9 一些相关命令
查看电池剩余电量cat /sys/class/power_supply/BAT0/capacity
注意,部分内容已修改请以本页面最新信息为准。
