编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

旧笔记本废物利用当NAS(PVE+群晖)

wxchong 2024-12-09 18:10:51 开源技术 248 ℃ 0 评论

旧笔记本当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/2023-11-28/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 apt-get install kde-plasma-desktop

设置时区

imedatectl set-timezone Asia/Shanghai

设置中文环境

apt-get install language-pack-zh-hans language-pack-zh-hans-base

如果提示找不到软件包那就安装locales软件包,然后生成中文语言环境。

sudo apt-get install -y locales

然后按提示操作

安装中文字体:例如,安装文泉驿字体:

sudo apt install fonts-wqy-zenhei

安装中文输入法:

你可以选择多种中文输入法,比如Fcitx或IBus。以下是安装Fcitx输入法的示例:这里举例googlepinyin

sudo apt install fcitx

sudo apt install fcitx-googlepinyin



4 创建新用户

因为debian图形界面不支持root用户登录,所以添加一个桌面使用用户

sudo adduser 用户名

将用户添加到sudo组

sudo usermod -aG sudo 用户名



5 笔记本合盖不休眠,有3种方法

笔记本当NAS当然要合盖,但一般合盖会导致笔记本休眠所以要设置下。


1 编辑/etc/systemd/logind.conf文件

找到#HandleLidSwitch这一行,意思是合上笔记本上盖后的行为,默认suspend,

修改为ignore(即合盖不休眠),然后还要去掉前面注释的#,保存文件。

重启systemd服务,如下命令:

service systemd-logind restart


2 手动关闭屏幕

a. 安装vbetool软件:apt-get install vbetool

b. 用此命令关闭显示器:vbetool dpms off

如果你想打开显示器用命令:vbetool dpms on


3 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=multi-user.target

请确保将脚本中/path/to/your/start_vm_101.sh替换为您的脚本的实际路径。



8 虚拟机群晖就不展开了

现在的RR引导已经相当简单好用,其他教程网上也是大把



9 一些相关命令

查看电池剩余电量cat /sys/class/power_supply/BAT0/capacity

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表