PVE 关机重启时 自动挂起 虚拟机

2023-10-7 学长 NAS

关机重启时自动挂起虚拟机

不在乎过程的直接到最后面复制最后两段红字就行了

剩下还有关机的时候自动挂起黑群的虚拟机

指令是找到了,后面加不加1都可以,

区别在于--todisk是个布尔值没声明就是默认0,声明了就是1,声明了加1就。。。也可以(官网说明

qm suspend 101 --todisk


官方论坛有人写的pve-hibernate-all 很不错

https://forum.proxmox.com/threads/feature-request-hibernate-vms-on-pve-host-reboot.65529/page-2

写个自动挂起全部的脚本

在/etc/systemd/system/pve-manager.service 服务的stop中加入执行,这样当停止pve manager自动就会执行挂起全部

mkdir  /var/lib/vz/snippets

因为没有这个文件夹

cat > /var/lib/vz/snippets/pve-hibernate-all <<EOF

qm list | grep running | awk -F '[^0-9]*' '\$0=\$2' | while read -r vm_id; do qm suspend \$vm_id --todisk 1; done;

EOF

添加执行权限

chmod 755 /var/lib/vz/snippets/pve-hibernate-all

添加到 /etc/systemd/system/pve-manager.service 中

ExecStop=/var/lib/vz/snippets/pve-hibernate-all

添加该行

最好在其他的stop前面,不然执行顺序没法被保证

老哥给的参考

[Service]
Environment="PVE_LOG_ID=pve-guests"
ExecStartPre=-/usr/share/pve-manager/helpers/pve-startall-delay
ExecStart=/usr/bin/pvesh --nooutput create /nodes/localhost/startall
ExecStop=/var/lib/vz/snippets/pve-hibernate-all
ExecStop=-/usr/bin/vzdump -stop
ExecStop=/usr/bin/pvesh --nooutput create /nodes/localhost/stopall

具体操作在shell或者ssh中输入

vi /etc/systemd/system/pve-manager.service

找到21行按o添加行并编辑

输入或者粘贴

ExecStop=/var/lib/vz/snippets/pve-hibernate-all

按esc键输入:wq保存并关闭

记得切换输入法,最起码百度中文输入的时候按不上去

systemctl daemon-reload

重新加载systemd cache

目前直接运行shell显示

awk: not an option: -bash=

https://github.com/gvalkov/tailon-legacy/issues/62

给出的是切换awk

dpkg -l |grep awk

还真是mawk,那就切换下awk到gawk,本来想换成写入脚本就是mawk一样不可以。。。

apt-get install gawk && apt-get remove mawk

还是有错。。。应该是 awk -F 后面没有空格导致的???

真正问题是cat写入文件对$符号处理问题导致的因为vi去看了。。。$被替换了

呃。。。重启并不会执行挂起。。。挂在这个点貌似。。。不起作用

ExecStop=/usr/bin/pvesh --nooutput create /nodes/localhost/stopall 

行删除试试,毕竟挂起了就不用关机了,也是执行不到。。。

要不然改poweroff 还有reboot指令???等待几分钟执行完再重启???

sleep 秒数

确定开关机的位置用脚本代替

mv /usr/sbin/reboot /usr/sbin/reboot_now

mv /usr/sbin/poweroff /usr/sbin/poweroff_now

等到直到没有running

mkdir /var/lib/vz/snippets/

cat > /var/lib/vz/snippets/pve-hibernate-all <<EOF
qm list | grep running | awk -F '[^0-9]*' '\$0=\$2' | while read -r vm_id; do qm suspend \$vm_id --todisk 1; done;
while qm list | grep running>/dev/null; do sleep 1; done; 
EOF
cat > /usr/sbin/poweroff <<EOF
/var/lib/vz/snippets/pve-hibernate-all
/usr/sbin/poweroff_now
EOF
cat > /usr/sbin/reboot <<EOF
/var/lib/vz/snippets/pve-hibernate-all
/usr/sbin/reboot_now
EOF
chmod 777 /usr/sbin/reboot  /usr/sbin/poweroff /var/lib/vz/snippets/pve-hibernate-all

每次系统更新完得重新添加。。。因为这些指令很有可能被重置

嗯。。。原来的关机和重启就是777只是link到systemctl我也不知道怎么做到的。。。

如果挂起出错会锁住虚拟机解锁

qm unlock 101

评论(0) 浏览(461)

PVE收尾-- upnp配置还有pve中ddns设置

2023-10-7 学长 NAS

一、

目前还有cloudflare的ddns


二、

upnp客户端调试

apt install miniupnpc

https://manpages.debian.org/unstable/miniupnpc/upnpc.1.en.html

upnpc -l

显示出路由上有的

添加

upnpc -e 描述可以不加 -a 192.168.68.200 8006 外网端口 tcp 持续时间,按秒可以不加


删除

upnpc -d 外网端口 tcp


三、

静态地址因为没在路由器的DHCP表中注册所以没法用设备名来简化输入IP的步骤

https://www.linuxcool.com/dhclient

红帽子的dhclient -H有这个指令直接发送的功能

isc-dhcp的dhclient得通过脚本,反正我是没看到相关指令

但是在/etc/dhcp dhclient.conf中看到确实有相关指令

但是无线网卡又是静态的怎么能让pve再给dhcp再发下主机名呢?

重启网络

service networking restart

应该不是没dhcp注册到路由上,因为ping了地址出来了zerotier上分配的地址

评论(0) 浏览(283)

PVE 黑群晖获取不到指定的IP地址的问题

2023-10-7 学长 NAS

黑群晖重装,不要咋在安装过程中挂起

目测virtio的网卡找不到???并不是,能找到并且良好

其实是find那个网站找不到。。。

看来通过MAC给固定IP没成功。。。因为获得了.5.7。。。查看dhcp server发出去的地址

cat vi /var/lib/dhcp/dhcpd.leases

并不是之前DHCP文章中讲要给到.3的地址

就很。。。玄学

最后搞明白了,因为mac地址根本不是虚拟机给的是引导文件弄出来的

所以得把dhcp设置中的mac改成引导文件中的

分区调整...把NTFS的空间修补分给PVE

NTFS修改分区还是在windwos下比较靠谱些

之前用无损安装PVE的方法实体安装了精简版的win11,

重启进到windows中用Diskgenius调整分区,因为主要还是做NAS先把NTFS分区后边没用的8T分出来

到时到PVE中做成linux的分区

打算不直接做raid,就普通分区,让黑群自己组RAID

因为发现PVE当时选的raid做后出来的是JBOD

我说怎么跑win虚拟机测起来只有一张盘的性能。。。

目前放弃直接用NTFS做PVE的存储,能挂上但是ntfs3挂载在linux中的读写只有几个M的速度。。。

或许是N3150性能确实拉夸


后面还出现打开数据中心防火墙也会导致网络不通,即使关闭也是不通,得重启pve,就很玄学。。。


fdisk /dev/sdd

按p查看目前的分区前面的分区末尾是14071889886

按n创建新的分区

输入是第几个分区我这里是6

前面分区的结尾是14071889886,如果紧靠着就是14071889886+1

但是fdisk的建议是14071889920,相当于前一个扇区后空出34-1个扇区,我还是让他们更远点吧

14071889886+1+4096相当于空了2M,也就是14071893983

结尾地址给的推荐是31251757055,31251757055-14071893983是17179863072个分区能被8整除也就是4k对齐了

因为每个扇区是512个字节4k是4千字节按照1024进制算,整好8个扇区

w保存

然后分别对 sda sdb sdc化分区

发现sdb分区结束点有点靠后。。。到14077666015,再去windows下的DiskGenius调整下

具体NTFS调整参考之前无损安装pve的教程

fdisk -l查看现在的分区

格式化成ext4吧

mkfs.ext4 /dev/sda5

因为只有sdd6是到第6个分区,其他的只到5个分区,所以后面挂载还是用uuid靠谱点。。。不然后面把前面的分区清空再建立分区又乱了序号

然后再写入/etc/fstab

评论(0) 浏览(359)

pve sshd无法开启问题解决

2023-10-7 学长 NAS

我应该是自己尝试装过ssh

pve默认带openssh

并且在出证书问题后我尝试重新用ssh-keygen直接生成证书到~/.ssh中

目测是这个文章

ssh开启:

hostkey有问题,去/etc/ssh/sshd_config把hostkey备注去掉

有显示incorrect passphrase supplied de decrypt private key

要不然直接连设置都删了???不能因为openssh server 是 pve核心组件

先看看有关ssh的包有哪些

dpkg -l |grep ssh

我里面有个ssh包,先删除掉ssh包,apt remove ssh

再重装openssh-server

apt reinstall openssh-server

我移除过config中的key的注释,然后提示要覆盖,我选了覆盖

还是出现sshd: no hostkeys available -- exiting.

删除root下的.ssh目录

删除中所有的key

find /etc/ssh |grep key |xargs rm

cd /etc/ssh

顺带删了旧的config

rm sshd_config.ucf-old

重新生成证书

ssh-keygen -A

再跑下看有什么错误

sshd -t
Missing privilege separation directory: /run/sshd

缺少目录

mkdir /run/sshd

sshd -t

就跑起来了

systemctl restart ssh

systemctl status ssh

重启ssh服务并且看ssh有啥异常

评论(0) 浏览(352)

华为平板键盘无法连接

2023-10-6 学长 matepad pro

https://consumer.huawei.com/cn/support/content/zh-cn05320409/


适用于 HUAWEI MatePad Pro 10.8 英寸 2019款操作方法:可尝试先将键盘与主机分离后,

同时按下键盘的D 、F、 U键

再将主机吸附到键盘凹槽上

并保持1分钟以上,

观察到键盘Caps灯闪烁一下之后松手。


之前没按一分钟以上。。。

不过华为如今也不送键盘了19年的时候马来西亚首发还送了键盘手写笔


评论(0) 浏览(216)

windows 远程桌面 某些设置由你的组织来管理

2023-10-6 学长 软件

gpedit.msc

“计算机配置”—>“策略”—>”管理模板“—>”Windows组件”—>”远程桌面服务“—>“远程桌面会话主机”—>”连接“,

允许用户通过使用远程桌面服务进行远程连接,状态改为“已启用”。


也许是为了系统安全把直接在设置中更改不了


不行的话

重置组策略

rd /s /q "%windir%\System32\GroupPolicyUsers"

rd /s /q "%windir%\System32\GroupPolicy"

gpupdate /force
如果还是不行,那再去组策略中打开试试,应该是个灰色的按键不过已经卡在开启的状态


默认是tcp+udp其实udp不加也行

iptables -t nat -A PREROUTING -p tcp --dport 3389 -j DNAT --to 10.233.60.2:3389

iptables -t nat -A PREROUTING -p udp --dport 3389 -j DNAT --to 10.233.60.2:3389

加到network/interface的post-up上

原则上iptables加在这里需要加post-down的把A改成D的,因为跟route不同,iptables不会因为ifdown而被自动释放

但是本地账户得加密码。。。

去我的电脑右击管理(指令没成功。。。)或者 cmd>> net user 用户名 输入密码

设置自动登录

netplwiz

https://iheld.net/?post=200

退出远程桌面的全屏模式

网上会讲ctrl+alt+break 或者 ctrl+alt+enter

反正我是没成功,ctrl+alt+scrlk 或者 召唤出任务管理器然后切换成其他的程序。。。


评论(0) 浏览(416)

residual-config 彻底删除 解决dhcp无法开启服务问题

2023-10-6 学长 NAS

删除完的包还是有residual-config

通过

dpkg-query -f '${Package} ${Status}\n' -W | grep config-files$ | cut -d" " -f1

找到有残留配置文件的 


自动删除

for i in `dpkg -l | grep ^rc | cut -d" " -f3`
do
dpkg –P $i
done

手动
dpkg –P 包名


也可以直接卸载apt中的包

我是用来解决

isc-dhcp-server在systemd没有service在systemctl也开启不了的问题


评论(0) 浏览(219)

证书问题

2023-10-6 学长 NAS

https://dannyda.com/2020/05/15/how-to-fix-proxmox-ve-pve-novnc-console-not-working-in-ios-iphone-ipad-safari-web-browser-etc-failed-to-connect-to-server/

导入root证书解决无法在手机上novnc的问题

因为必要证书。。。

手机上操作完并未能。。。

或许这就是PVE为什么走的是HTTPS的问题,就算给的是80端口但是对主机的管理还得走加密

整个kvm开源项目都是这样,EXSI也是走加密的

评论(0) 浏览(204)

isc-dhcp-server 配置

2023-10-6 学长 NAS

https://blog.csdn.net/bell_love/article/details/105680281

https://blog.csdn.net/byb123/article/details/124780571

find.synology.com

apt install isc-dhcp-server

安装先


主要解决群晖没法设置静态IP必须要DHCP

显安装精简版的win方便内网查找。。。

网络放在同一vmbr下

配置开启的网卡

vi /etc/default/isc-dhcp-server

把vmbr0 或者其他网卡加进去

vi /etc/dhcp/dhcpd.conf

设置DHCP网段

备注掉7到11行

因为具体的网段设置中还要设置的

跳到尾行shift g

subnet 10.233.60.0 netmask 255.255.255.0 {
  range 10.233.60.2 10.233.60.254;

  option domain-name-servers 8.8.8.8, 1.1.1.1, 192.168.68.1;      # DNS,用英语逗号隔开

  #option domain-name "internal.example.org"; # 域名,其实我觉得是搜索域,填不填无所谓
  option routers 10.233.60.1; #网关地址

  option broadcast-address 10.233.60.255; #广播地址可以不写

  default-lease-time 600;  #默认租期,秒

  max-lease-time 7200; #最大租期
}


按esc输入:wq保存并关闭文档

测试是否配的有问题

dhcpd -t


重新加载配置

systemctl daemon-reload

确保开启dhcp服务

systemctl enable isc-dhcp-server

重启dhcp服务

systemctl restart isc-dhcp-server

查看dhcp状态

systemctl status isc-dhcp-server


不要不删除配置安装udhcpd,会导致两个都启动不起来,彻底删除办法:

https://iheld.net/?post=213


添加预留的静态IP

继续

vi /etc/dhcp/dhcpd.conf

host WIN11 {
    hardware ethernet 36:A4:E9:3F:B8:61;      # MAC地址
    #server-name "WIN11";         # 主机名
    fixed-address 10.233.60.2;                # IP地址
    infinite-is-reserved on;                  # 保留该地址
}


host NAS {
    hardware ethernet 2E:76:B1:9E:F6:60;      # MAC地址
    #server-name "NAS";         # 主机名
    fixed-address 10.233.60.3;                # IP地址
    infinite-is-reserved on;                  # 保留该地址
}


host docker {
    hardware ethernet 72:62:11:EB:D0:89;      # MAC地址
    #server-name "docker";         # 主机名
    fixed-address 10.233.60.4;                # IP地址
    infinite-is-reserved on;                  # 保留该地址
}

最后配置iptables -t nat把NAS的端口映射出去,加在network/interface的vmbr0 post-up上

iptables -t nat -A PREROUTING -p tcp --dport 5000 -j DNAT --to 10.233.60.3:5000

原则上iptables加在这里需要加post-down的把A改成D的,因为跟route不同,iptables不会因为ifdown而被自动释放

评论(0) 浏览(270)

iw手动连接

2023-10-6 学长 NAS

先查看网卡有啥

iw dev

我只有一个wlp2s0

或者收是wifi网卡物理地址phy0

看是否up

ip a|grep wlp2s0

ifup 或者 ifconfig wlp2s0 up

ifup的前提是得把wlp2s0写入network interface

如果想换模式得先down下

iw wlp2s0 set type managed 或者ap 

先扫描先看能有什么wifi可以用

iw wlp2s0 scan|grep -i ssid

记录下ssid

wpa_passphrase SSID 密码

查看下先

然后再写入 /etc/wpa_supplicant/wpa_supplicant.conf

wpa_passphrase SSID 密码 >> /etc/wpa_supplicant/wpa_supplicant.conf


wpa_supplicant -B -D wext -i wlp2s0 -c /etc/wpa_supplicant/wpa_supplicant.conf

查看连接状况

iw wlp2s0 link

没ip地址得去/etc/network/interface或者nmtui中设置

pve能用的桥接是brctl添加的但是brctl不支持或者说IEEE801.11协议的二层就是不支持桥接




评论(0) 浏览(195)

手机版 | RSS | FEED

苏ICP备16066175号