安装页面191.168.1.168:5001,点下一步报500。
用ssh和页面上写的密码登录进去,
修改文件
/usr/lib/python3/dist-packages/PetaSAN/backend/cluster/deploy.py
函数,在大约1274行,添加一句判断if len(info_item_ls) == 2:
记得把后面的语句块(即后面紧随3行代码)向右缩进一格。
for device_info in devices_ls:
# Define "interface_info" dictionary which will contain interface's info :
interface_info = {}
device_name = ""
device_info_ls = device_info.split(",mac=")
for info_item in device_info_ls:
info_item_ls = info_item.split("=")
if len(info_item_ls) == 2:
# get device name :
if 'device' in info_item_ls:
device_name = info_item_ls[1]
interface_info[info_item_ls[0]] = info_item_ls[1]
interfaces_info[device_name] = interface_info
发现问题的调试过程,艰辛。
首先,肯定是页面有个问题导致挂掉。论坛有人问,但是当时没有答案。
因此需要进去调试看哪里挂掉了。
不知道密码进不去系统,其实能进去,只是没发现。就是安装页面填写的密码其实就是root密码,相当于重置。开始不知道这点,所以用ubuntu安装盘修复模式更新了grub菜单,让它显示出来(因为它默认不显示grub菜单)。因为设备配置比较低,而且要去找方法,折腾了好多遍,参考了以下内容。
Ubuntu下提示Failed to get canonical path of /cow的解决
解决办法:
对于ubuntu 14.04来说:
mount /dev/sda1 /mnt
chroot /mnt
update-grub2
对于Ubuntu 16.04来说:
mount /dev/sda1 /mnt
for dir in /dev /dev/pts /proc /sys /run; do
mount --bind $dir /mnt$dir
done
chroot /mnt
update-grub2
然后进去系统找安装目录。从ps -ef命令里面大概就能发现两个进程
/usr/bin/python3 /opt/petasan/services/console.py
/usr/bin/python3 /opt/petasan/services/web/deploy.py
用vscode打开远程目录。就是安装了ssh扩展之后,左下角有个绿色背景的连接符号,输入root@192.168.1.168。然后就连上了。
从vscode文件那里找到这/opt/petasan/,然后就是调试。调试的时候改了py文件需要kill掉deploy.py对应的进程。否则修改不生效。输出的日志在/opt/petasan/log/PetaSAN.log
最终能确定是解析网络接口信息的文本那里在我电脑上有点瑕疵,于是改一下就好。
首次接触,后续安装过程那些选项也是不知道该怎么选。。。凭感觉设置好之后,竟然提示还需要配置并加入两个节点。。。内心是崩溃的。于是就先不折腾啦~
在调试的过程重复输入这个名字,petasan。不知重复了多少遍。后面输入的时候,脑子里面就会冒出一个词,白塔山。。。