在openstack的VM使用过程中,由于有些VM在一个项目团队成员中变更过密码,后来忘记虚拟机的管理员密码。本文中将找回虚拟机系统的管理员密码做出总结。
操作前需要对虚拟机系统磁盘做快照。
Linux系统分成可进入单用户模式和不可进入单用户的模式。
Linux可进入单用户模式,那么修改方法比较简单,在Linux 系统启动界面按e,进入编辑界面。在出现kernel这一行,加上single或者空格1,然后回车,进入单用户模式,输入passwd root修改系统root用户密码。
Linux不可进入单用户模式,有些镜像做过特殊配置,基于这些镜像创建的VM在开机时候无法进入单用户模式,就需要把虚拟机的硬盘挂载到某个计算节点,通过libguestfs工具清空系统root用户密码。
试验环境如下:Openstack Icehouse
存储:DELL EqualLogic 挂载方式:iscsi
Linux操作系统破解管理员root用户密码操作步骤如下:
1.启动虚拟机,登录到任意一台controller节点,确认虚拟机信息:
查看VM信息1
2.引用环境变量:
[root@controller1 ~(keystone_admin)]# more keystonerc_admin
export OS_USERNAME=admin
export OS_TENANT_NAME=admin
export OS_PASSWORD="@Opens25"
export OS_AUTH_URL=http://192.168.0.20:5000/v2.0/
export PS1='[\u@\h \W(keystone_admin)]\$ '
[root@controller1 ~(keystone_admin)]# source keystonerc_admin
3.输入novalist—all-tenants查看VM的信息。
查看VM信息2
查看VM信息3
4.通过nova show VM_UUID查看VM的信息,包括虚拟机运行的计算节点,虚拟机的实例名,虚拟机系统盘的ID。
查看磁盘信息
通过读取信息,可以确认目前虚拟机运行在computer5的计算节点上,虚拟机的实例名为instance-00001653,虚拟机系统盘(第一块盘)的ID为2dbb894d-8457-4ae8-8639-b5dc496ba23a。
5.确认虚拟机系统盘的类型。
使用cinder show命令确认磁盘类型,确认磁盘是eqlx,eqlx类型的磁盘是通过iscsi协议挂载到计算节点提供给虚拟机使用的。
6.查看虚拟机的磁盘信息
登录到computer5的计算节点,查看这个虚拟机的磁盘信息:
通过信息,可以确认磁盘的信息如下:
查看虚机磁盘信息
Targetname: iqn.2001-05.com.equallogic:0-fe83b6-5518751d4-494b0d6b274563a0-volume-2dbb894d-8457-4ae8-8639-b5dc496ba23a
Iscsi服务器地址及端口: 10.10.0.80:3260
7.挂载虚拟机磁盘前,需要先关闭虚拟机的电源,否则有可能导致磁盘损坏。
关闭虚机电源
查看关机状态
8.挂载iscsi磁盘到computer5计算节点本地。
命令如下:
iscsiadm –mode node –targetname iqn.2001-05.com.equallogic:0-fe83b6-5518751d4-494b0d6b274563a0-volume-2dbb894d-8457-4ae8-8639-b5dc496ba23a –portal 10.10.0.80:3260 --login
挂载磁盘
9.确认磁盘挂载信息。
确认磁盘挂载信息1
确认磁盘挂载信息2
确认磁盘挂载信息3
10.查看计算节点磁盘信息。
使用lsblk命令查询结果如下:
lsblk查看系统盘信息
从以上信息可以确认虚拟机磁盘分区是LVM类型的,分区sdi1和sdi2分区,系统根分区为sdi2。
11. 安装libguestfs-tools
使用yum install libguestfs-tools –y命令安装。
12. 清空root密码
删除文件中第一个冒号和第二个冒号间的内容,保存并且退出文件。
PS:如果使用的是cinder本地存储,需要使用virt-edit -a /var/lib/nova/instances/VM_UUID/disk /etc/shadow
清空Linux系统密码
13. 清空root密码后,需要登出iscsi设备。
iscsiadm --mode node --targetname iqn.2001-05.com.equallogic:0-fe83b6-5518751d4-494b0d6b274563a0-volume-2dbb894d-8457-4ae8-8639-b5dc496ba23a --portal 10.10.0.80:3260 --logout
退出iscsi磁盘挂载
14. 启动虚拟机,使用root用户登录,不需要输入密码。登录进VM系统后可以使用passwd root命令重新设置root用户密码。
重设Linux的root密码
Windows系统密码破解步骤:
试验环境如下:Openstack Icehouse
存储:DELL EqualLogic 挂载方式:iscsi
操作步骤如下:
1.启动虚拟机,登录到任意一台controller节点,确认虚拟机信息:
查看windows系统信息
2. 引用环境变量:
[root@controller1 ~(keystone_admin)]# more keystonerc_admin
export OS_USERNAME=admin
export OS_TENANT_NAME=admin
export OS_PASSWORD="@Opens25"
export OS_AUTH_URL=http://192.168.0.20:5000/v2.0/
export PS1='[\u@\h \W(keystone_admin)]\$ '
[root@controller1 ~(keystone_admin)]# source keystonerc_admin
3.输入novalist—all-tenants查看VM的信息。
查看Windows VM信息
查看windows VM的状态
4.通过nova show VM_UUID查看VM的信息,包括虚拟机运行的计算节点,虚拟机的实例名,虚拟机系统盘的ID。
nova show windows系统信息
通过读取信息,可以确认目前虚拟机运行在computer4的计算节点上,虚拟机的实例名为instance-00001676,虚拟机系统盘(第一块盘)的ID为4488d071-1c15-4157-95f9-3909c67c5753。
5.确认虚拟机系统盘的类型。
使用cinder show命令确认磁盘类型,确认磁盘是eqlx,eqlx类型的磁盘是通过iscsi协议挂载到计算节点提供给虚拟机使用的。
6. 查看虚拟机的磁盘信息
登录到computer4的计算节点,查看这个虚拟机的磁盘信息:
查看windows系统磁盘信息
通过信息,可以确认磁盘的信息如下:
Targetname: iqn.2001-05.com.equallogic:0-fe83b6-4688751d4-bb2b0d6b7415642f-volume-4488d071-1c15-4157-95f9-3909c67c5753
iscsi服务器地址及端口: 10.10.0.80:3260
7.挂载虚拟机磁盘前,需要先关闭虚拟机的电源,否则有可能导致磁盘损坏。
关闭windows虚拟机电源
查看windows虚拟机状态
8.挂载iscsi磁盘到computer4计算节点本地。
命令如下:
iscsiadm --mode node --targetname iqn.2001-05.com.equallogic:0-fe83b6-4688751d4-bb2b0d6b7415642f-volume-4488d071-1c15-4157-95f9-3909c67c5753 --portal 10.10.0.80:3260 --login
挂载iscsi到计算节点
9.确认磁盘挂载信息。
查看挂载的windows磁盘信息
查看挂载的windows磁盘信息内容
查看挂载的windows磁盘信息的内容
10.查看计算节点磁盘信息。
使用lsblk命令查询结果如下:
lsblk查看windows磁盘分区
从以上信息可以确认虚拟机磁盘根分区为sdd2分区。
11. yum install libguestfs-winsupport -y
12. Windows使用cmd.exe文件替换UtilMan.exe文件(需要先安装libguestfs-winsupport软件包)
PS:如果VM使用的是cinder本地存储,那么需要使用guestfish -i /var/lib/nova/instances/VM_UUID/disk。
修改windows系统分区
使用cmd替换轻松访问文件
13.打开虚拟机电源,点击“轻松访问”打开命令行工具,然后输入net user administrator abcdef123…
重设windows管理员密码
14.使用新密码登录到系统,测试系统密码是否修改成功。
15.使用 guestfish命令重新修改Windows系统里面的文件。先把Utilman.exe删除,然后把Utilman.exe.bak重命名为Utilman.exe。
还原对windows之前的修改
16.卸载iscsiadm EqualLogic的磁盘。
iscsiadm -m node --target iqn.2001-05.com.equallogic:0-fe83b6-4688751d4-bb2b0d6b7415642f-volume-4488d071-1c15-4157-95f9-3909c67c5753 –logout
windows计算节点卸载iscsi磁盘
17.重启系统,再点击“轻松访问”将无法打开命令行界面。
验证windows轻松访问登录
18.确定无法打开命令行界面后,以新密码登录到Windows系统,密码修改完成。