pve smb 改端口?

2023-10-8 学长 NAS

因为pve和里面的黑裙都装了smb端口重叠

pve下

netstat -nplt

看以下用到的端口

默认的445+139

去改smb设置

vi /etc/samba/smb.conf

在[global]下加个smb ports=
默认的没写出来是smb ports = 445 139
可以改成一个口任意你喜欢的

改完后:wq

然后systemctl restart smb

pve默认没有smb在pvetools中安装的

windows上得改很多,直接挂到黑群晖上

欸,群晖也得用指令挂在。。。要不PVE装个NFS用黑裙挂到内部文件夹上。。。

最终决定不改端口

把黑群晖的挂到pve的smb中的某个文件夹。。。

然后在黑群晖中挂一个pve上的smb,这样外部就能设备就能通过pve的smb访问到黑群晖的。。。

这样就不用跳端口了


mount -t cifs //10.233.60.3/UX24T /mnt/NAS -o username=用户名,password=密码,port=端口(不加为默认)

写到pve的/etc/rc.local让开机就挂载

cat > /etc/rc.local <<EOF
#!/bin/sh -e
mount -t cifs //10.233.60.3/UX24T /mnt/NAS -o username=用户名,password=密码
exit 0
EOF

貌似备注都很重要没了启动就报错
systemctl start rc-local

systemctl enable rc-local

如果读写很慢就开个NFS吧。。。

群晖挂载就比较简单了,file station 中挂载cifs勾选自启动


为啥不开NFS,因为还是smb支持的多

反正我是没搞明白nfs crossmnt的事情。。。


另外这样实际上很难挂载成功除非先启动黑群晖再运行 rc.local

不然rc.local很难挂载成功。。。

参考

https://www.jianshu.com/p/6658e3b5a74a

评论(0) 浏览(256)

PVE 8 显示硬盘温度 不用hddtemp实现

2023-10-7 学长 NAS

参考:https://blog.csdn.net/qq_17111397/article/details/129920765

为啥不用因为装不上。。。

Package hddtemp is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

具体啥原因么。。。不纠结了因为都得去手动添加到web上。。。当然也可以改sensors的指令把硬盘温度加载sensors里面


显示所有硬盘温度

ls /dev/sd?|xargs -I {} smartctl -A {} |grep Temperature_Celsius|awk -F' ' '$0=$4'|cut -d'0' -f2

除非你硬盘超过100度。。。正常不会超过80度。。。吧。。。如果担心超过100度那就把最后的cut那堆去了

显示顺序是按照硬盘在dev中排的顺序决定的

cat >  /usr/bin/hddtemp.sh <<EOF

a=\`ls /dev/sd?|xargs -I {} smartctl -A {} |grep Temperature_Celsius|awk -F' ' '\$0=\$4'|cut -d'0' -f2\`
echo \$a
EOF


诶发现有老哥给出了其他办法

https://forums.linuxmint.com/viewtopic.php?t=377639

modprobe drivetemp再用sensors查看



vi /usr/share/perl5/PVE/API2/Nodes.pm

插入点在PVE::pvecfg::version_text()下面

输入/tdata因为pvetools安装的是用这个变量名

下面一行

$res->{hddtemp} = `hddtemp /dev/sd?`;

$res->{hddtemp} = `/usr/bin/hddtemp.sh`;

按esc输入:wq保存并退出

vi /usr/share/pve-manager/js/pvemanagerlib.js

搜索输入/sensors \c点回车

        ,{
              itemId: 'hddtemp',
              colspan: 2,
              printBar: false,
              title: gettext('HDD:'),
              textField: 'hddtemp',
              renderer:function(value)
             {

               value = value.replaceAll('Â',' ');

               return value.replaceAll('\n','<br/>');
              }
        }

添加在]的前面,操作失误会导致web界面无法显示,请确保括号完整

重启web界面

systemctl restart pveproxy

呃。。。目前还是显示不出来。。。目测是这样温度更新太慢???

vi /usr/share/perl5/PVE/API2/Nodes.pm

改成$res->{hddtemp} = `cat /tmp/hddtemp`;

然后写个while死循环每隔一分钟更新下硬盘温度

ls /dev/sd?|xargs -I {} smartctl -A {} |grep Temperature_Celsius|awk -F' ' '$0=$4'|cut -d'0' -f2 > /tmp/hddtemp


每隔一分钟更新下硬盘温度?这样会不会让硬盘没法进入休眠?所以还是放弃这个办法了。。。

下面尝试webget安装hddtemp的也没法再pve 8的web界面显示温度所以

请跳到下一段红字


去wget一个hddtemp

https://launchpad.net/ubuntu/+source/hddtemp

或者ubuntu官方 http://archive.ubuntu.com/ubuntu/pool/universe/h/hddtemp/

找到最新的amd64的deb,应该没有人还用86或者arm吧

wget http://archive.ubuntu.com/ubuntu/pool/universe/h/hddtemp/hddtemp_0.3-beta15-53_amd64.deb

apt install ./hddtemp_0.3-beta15-53_amd64.deb

rm ./hddtemp_0.3-beta15-53_amd64.deb

呃,一样读不到硬盘数据

用来检测硬盘状态:如果是unkown就是休眠了

hdparm -C /dev/sd? 

要不也写道文件里???这不还是让硬盘没法进入休眠么,内存???这得写一个程序那。。。

卸载hddtemp

apt remove hddtemp

所以hddtemp也特喵的无法再pve 8下使用!!!难怪不让装了毛用都没有啊!!!


诶。。。要不还是试试sensor哪个读硬盘温度的办法吧。。。


modprobe drivetemp&&sensors|grep -E "temp1|drive"|cut -d'(' -f1

继续去改

vi /usr/share/perl5/PVE/API2/Nodes.pm

输入/tdata 按回车搜索

$res->{hddtemp} = `modprobe drivetemp&&sensors|grep -E "temp1|drive"|cut -d'(' -f1`;

这个时候就可以重启web管理服务了,后端需要重启web服务,js前端不用

systemctl restart pveproxy

输入/sensors\c按回车搜索,如果有下一个就按n

vi /usr/share/pve-manager/js/pvemanagerlib.js

         ,{
               itemId: 'HDD Temp',
               colspan: 2,
               printBar: false,
               title: gettext('HDD Temp'),
               textField: 'hddtemp',
               renderer:function(value){
                 value = value.replaceAll('Â',' ');
                 value = value.replaceAll('\ntemp1',' ');
                 return value.replaceAll('\n','<br/>');
               }
         }

再]之前输入

如果高度不够显示全

按esc输入/搜索widget.pveNodeStatus

我的height得改到500

按esc输入:w

刷新web界面就能看到前端的变化


前提是用pvetools添加了senosrs用来显示cpu温度


pvetools群里的朋友分享的:

https://www.aitxn.com/887.html?replytocom=146


wget -q -O /root/pve_source 'https://bbs.x86pi.cn/file/topic/2023-01-02/file/79bf8f916aca457d9c05df5864018dd7b2.zip' && chmod +x /root/pve_source && /root/./pve_source


通过my $变量=读取smartctl信息,来解决$res读不到硬盘信息的问题

再加上iostat的信息


评论(0) 浏览(612)

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)

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号