本文系vSphere6.7实验的第一篇,要想实现虚拟机在集群中的热迁移,就必须用到共享存储,而搭建iSCSI存储是相对比较容易的实现方式。因为手头刚好有以前做毕设剩下的树莓派,所以就用它来做iSCSI共享存储吧,其实Linux、Windows都可以做iSCSI服务。
需要提前准备的硬件有:
- 树莓派3B+开发板;
- 5V/2.5A直流电源适配器;
- 支持5V/2.5A的MicroUSB接口电源线;
- 闪迪16GB/32GB Class 10 TF卡;
- 至少1块外置硬盘,以及所需的额外供电;
- TF卡与USB转换器。
首先,在树莓派官网下载固件,并使用 Win32 Disk Imager 工具进行刷入。在刷入之前,可能需要使用 SD Formatter 工具格式化TF卡。官网下载站:Operating system images – Raspberry Pihttps://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-64-bit 推荐使用 Raspberry Pi OS Lite 。
在写入TF后,需要在boot分区内创建名为“SSH”的文件,文件内不需要写入任何内容,此举目的是开启默认关闭的SSH功能;在 2022-04-04 的更新中,出于安全性考虑,已经将默认的 pi/raspberry 用户删除,其原文是:
2022-04-04:
* Default "pi" user has been removed; the first-boot wizard enforces the creation of a new user account
解决方法可以通过外接显示器创建账户,也可以通过在boot分区中创建名为“userconf”的文件,并在文件中写入 username:encrypted-password 的方式来解决(请注意中间的英文冒号)。
username是您想创建的用户名,使用明文表示;encrypted-password是该用户名对应的密码,使用加密表示,获取加密密码最方便的方式是使用OpenSSL——打开终端窗口并输入:
echo 'mypassword' | openssl passwd -6 -stdin
现提供一个成品,方便没装OpenSSL的人,以下内容对应 pi:raspberry :
pi:$6$Q7yQqYO94B9fI9jn$trNI8/yvcZ8WYleaYKN5qlrzQ3AhZXLZtcNkYJlSH16xGloh2ZiM4KeAay8GSBoQ09LZI/wMOxM3qeou7uZXq.
(请注意结尾的英文点号)
好了,至此为止,您就可以将TF卡插入树莓派3B+中,然后插电启动了。
接下来,将TF卡插入树莓派3B+中,将网络连接线插入树莓派3B+的RJ45端口中,将电源适配器插入插座,再将MicroUSB线缆插入树莓派3B+的母座中,完成开机操作。开机后使用
ping -4 -t raspberrypi.local
命令来查找IP地址,等待直至PING通(假设网络中已存在DHCP服务器)。
根据返回的IP地址,使用SSH工具进行连接,由于需要安装软件包,国内特殊环境需要将软件源切换为境内软件源,这里推荐使用“清华大学开源软件镜像站”,不推荐使用阿里云。清华大学开源软件镜像站对应的树莓派(Raspbian)地址为:raspbian | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirrorhttps://mirror.tuna.tsinghua.edu.cn/help/raspbian/进入后根据对应的操作系统版本进行软件源替换, 替换前进行原文件备份。
关于armel、armhf、arm64、armv7l系统架构的区别与联系可参考博文:armel、armhf、arm64、armv7l 系统架构区别与联系(AArch64)_Dontla的博客-CSDN博客_armv7lhttps://blog.csdn.net/Dontla/article/details/120626560 替换完成后,使用
sudo apt-get update
命令更新软件源列表,同时检查您的编辑是否正确。
恭喜!您已经成功了一大半,接下来就可以将准备好的硬盘插入树莓派3B+的任一USB口中,后续的操作都使用命令完成。
pi@raspberrypi:~ $ sudo apt-get install tgt lvm2 # 安装所需软件包
......
pi@raspberrypi:~ $ sudo lsblk # 列出系统中的块设备
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 465.8G 0 disk
└─sda1 8:1 0 465.8G 0 part
mmcblk0 179:0 0 30G 0 disk
├─mmcblk0p1 179:1 0 256M 0 part /boot
└─mmcblk0p2 179:2 0 29.8G 0 part /
pi@raspberrypi:~ $ sudo fdisk /dev/sda # 磁盘管理
d # 删除所有分区
w # 保存
q # 退出管理模式
pi@raspberrypi:~ $ sudo pvcreate /dev/sda # 将物理硬盘分区初始化为物理卷
pi@raspberrypi:~ $ sudo vgcreate vg1 /dev/sda # 创建一个名为vg1的卷组
pi@raspberrypi:~ $ sudo lvcreate -l 100%FREE vg1
pi@raspberrypi:~ $ sudo vi /etc/tgt/conf.d/iSCSI.conf # 名字无所谓
<target iqn.2022-7.kai.local:lun1>
# Provided device as an iSCSI target
backing-store /dev/mapper/vg1-lvol0 # 如果找不到则需手动ls /dev/mapper
initiator-address 172.16.0.16 # ACL,注释此项表示任意IP均可访问此iSCSI共享存储
#incominguser kai-iscsi-user password
#outgoinguser debian-iscsi-target secretpass
</target>
pi@raspberrypi:~ $ sudo systemctl restart tgt # 重启tgt服务
pi@raspberrypi:~ $ sudo tgtadm --mode target --op show # 确认服务状态
pi@raspberrypi:~ $ sudo nano /etc/dhcpcd.conf
......
static ip_address=172.16.0.16/24
static routers=172.16.0.254
Ctrl+O # 保存修改
Ctrl+X # 退出编辑
pi@raspberrypi:~ $ sudo service networking restart