首页 > 系统相关 >vmware与主机克隆

vmware与主机克隆

时间:2024-09-02 23:25:55浏览次数:9  
标签:IP 克隆 ip linux rc 1.9 etc 主机 vmware

目录

vmware与主机克隆

工作中会遇到一些情况,比如部署多套集群,需要测试环境,此时需要通过一台模板机器,克隆,再登录到节点,手动修改ip,重置主机名称等,这对于批量操作很慢,而且不利于主机管理,而且只能一台操作完,再操作另一个台机器,这样很麻烦

所以想实现,克隆模板机后,启动新机器,从而直接获取新的ip,这样会很方便顺利

这里涉及到一些知识点

  • 虚拟机与hosts主机配置文件挂载
  • linux机器配置开机自动启动脚本
  • 编写修改ip的脚本,与ip的配置文件关联,且只在第一次初始化时生效

一 实现虚拟机与hosts主机配置文件挂载通信

1.配置虚拟机挂载信息

核心 open-vm-tools 软件包中包含核心 open-vm-tools 用户空间实用程序、应用程序和库(包括 vmtoolsd),以帮助有效管理您的主机与客户机操作系统之间的通信 open-vm-tools

yum install open-vm-tools

创建挂载目录,作为挂载点

mkdir -p /mnt/linux-share

写入挂载配置文件/etc/fstab

cat /etc/fstab 

....

# share host file for linux vm system
.host:/linux-share /mnt/linux-share fuse.vmhgfs-fuse allow_other 0 0

.host:/linux-share 表示hosts主机上的目录,这个目录是与vmware指定共享的名称相关,并不与hosts上的实际目录有直接关系

/mnt/linux-share 表示挂载点

fuse.vmhgfs-fuse 表示使用FUSE(用户空间文件系统)与VMware的vmhgfs(VMware主机-客户机文件系统)来挂载

allow_other: 表示允许所有访问

0 0: 表示不备份,不检查

2.配置vmware创建共享目录

在虚拟机关机状态下,点开设置,选项,共享文件夹,下面有个文件夹共享,选择,总是启用,在文件夹下,选择添加,配置共享文件夹属性的名称与主机路径

注意,每次克隆虚拟机时,需要注意,共享文件夹是否启用,否则会导致共享失败,从而出现磁盘挂载的问题

linux-share

3.实现虚拟机挂载hosts主机目录
[root@rocky-linux ~]# df -h 
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        1.9G     0  1.9G   0% /dev
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           1.9G  9.0M  1.9G   1% /run
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda5        90G  2.8G   88G   4% /
/dev/sda2       2.0G  173M  1.9G   9% /boot
tmpfs           389M     0  389M   0% /run/user/0
[root@rocky-linux ~]# mount -a 
[root@rocky-linux ~]# df -h 
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        1.9G     0  1.9G   0% /dev
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           1.9G  9.0M  1.9G   1% /run
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda5        90G  2.8G   88G   4% /
/dev/sda2       2.0G  173M  1.9G   9% /boot
tmpfs           389M     0  389M   0% /run/user/0
vmhgfs-fuse     932G  289G  643G  32% /mnt/linux-share
[root@rocky-linux ~]# cat /mnt/linux-share/
ip_address.txt    新建文本文档.txt  

好了,到现在,能经实现了第一步,将hosts主机上的内容挂载到虚拟机内,并且实现了文件内容显示在虚拟机内

二 linux机器配置开机自动启动脚本

实现开机自动启动有多种方法

  • 添加命令到文件/etc/rc.local
  • 配置serivce开机自动启动
  • 配置/etc/rc.d/init.d目录下,配置权限

这里只使用第一种方式,用于开机自动启动

[root@rocky-linux ~]# ll /etc/rc.local
lrwxrwxrwx. 1 root root 13 Mar  7 23:42 /etc/rc.local -> rc.d/rc.local

默认/etc/rc.local是有执行权限的,但是没用

有用的是/etc/rc.d/rc.local,要设置此文件执行权限

[root@rocky-linux ~]# chmod +x /etc/rc.d/rc.local
[root@rocky-linux ~]# ll /etc/rc.d/rc.local 
-rwxr-xr-x. 1 root root 494 Sep  2 21:07 /etc/rc.d/rc.local

执行脚本的文件,添加配置脚本如下,最后一行为配置内容

cat /etc/rc.d/rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

touch /var/lock/subsys/local
sh /etc/test_init.sh

查看/etc/test_init.sh脚本文件

#!/bin/bash

echo `date` > /tmp/tmp_init.log

此文件内容,只简单将时间写入到临时文件中

重新虚拟机,检查开机自动启动脚本的日志文件内容,这说明脚本启动成功

[root@rocky-linux ~]# cat /tmp/tmp_init.log 
Mon Sep 2 22:30:20 CST 2024

三 配置修改ip脚本文件

此处描述下脚本基本逻辑

/etc/.ip_configured文件表示是否执行过/etc/test_init.sh脚本,文件存在即虚拟机的ip是修改过,否则不做任何操作

/mnt/linux-share/ip_address.txt 与宿主机的共享目录,里面只写了一个ip的后缀,默认的ip范围区间为50-100,文件不存在,则将50写入到文件中

则50这个ip再加上ip的网络位,达成了完整的主机ip地址,即新的ip地址

后面就是通过sed命令替换ip,创建文件/etc/.ip_configured,实现虚拟机不再修改ip的操作

之后再重启虚拟机,实现ip的更新

脚本内容如下,vim /etc/test_init.sh

#!/bin/bash

echo `date` > /tmp/tmp_init.log
# 标记文件的路径
FLAG_FILE="/etc/.ip_configured"

# 检查标记文件是否存在
if [ -f "$FLAG_FILE" ]; then
    echo "IP address already configured. Skipping IP assignment."
    exit 0
fi

# 定义IP地址范围
START_IP=50
END_IP=100
IP_PREFIX="192.168.232"
IP_FILE="/mnt/linux-share/ip_address.txt"  # 假设已挂载共享目录

# 如果文件不存在,初始化IP地址
if [ ! -f "$IP_FILE" ]; then
    echo $START_IP > $IP_FILE
fi

# 获取当前IP地址
CURRENT_IP=$(cat $IP_FILE)

# 检查IP地址是否在范围内
if [ $CURRENT_IP -le $END_IP ]; then
    # 设置新的IP地址
    NEW_IP="$IP_PREFIX.$CURRENT_IP"
    echo "Configuring IP: $NEW_IP"
        # 递增IP
    NEXT_IP=$((CURRENT_IP + 1))
    echo $NEXT_IP > $IP_FILE
    sed -i "s#IPADDR=.*#IPADDR=$NEW_IP#g" /etc/sysconfig/network-scripts/ifcfg-ens33
        # 创建标记文件,表明IP已经配置
    touch "$FLAG_FILE"
    echo "IP address configured. Future startups will not change the IP."
    reboot
else
    echo "IP range exceeded. No more IP addresses available."
    exit 1
fi

最后再登录验证即可,这将实现启动克隆虚拟机,实现指定目标ip,方便ansible对其的批量操作,也算是解放一些生产力

标签:IP,克隆,ip,linux,rc,1.9,etc,主机,vmware
From: https://www.cnblogs.com/anyux/p/18393735

相关文章

  • WEB服务与虚拟主机
    WEB服务与虚拟主机www(万维网)构建基于三项核心技术HTML、URL、HTTPHTML​ 是用于创建网页和网页应用的标准标记语言,是所有Web开发的基础,描述网站的结构和内容,而其外观和表现通常由CSS控制。基本框架<!DOCTYPEhtml><html><head> <title></title></head><body></body>......
  • aws vmware ova模板进系统设置
    Amazonlinux2023下载地址:https://cdn.amazonlinux.com/al2023/os-images/2023.5.20240819.0/vmware/官方参考:https://docs.aws.amazon.com/linux/al2023/ug/seed-iso.html在一台linux上设置一个ssh信任ssh-keygen-trsa得到id_rsaid_rsa.pubcd/root/&&mkdirs......
  • 【Ansible】ansible调用主机报错问题
    ansible预计实现功能,自动生成/etc/hosts文件,copy到远程机器,出现如下错误:配置如下:----hosts:192.168.31.12remote_user:clustersudo:yestasks:-name:dirstributehostfiletemplate:src=templates/hosts.j2dest=/......
  • nginx的基本使用示例(负载均衡,虚拟主机,动静分离)的详细配置过程
    文章目录前言前置工作httpd主机tomcat主机nginx主机配置负载均衡配置过程效果展示虚拟主机配置过程效果展示动静分离配置过程排除思路前言本篇博客展示nginx的基本使用案例,后端由httpd+tomcat组成,linux版本:rocky9.2虚拟机ipnginx192.168.10.11httpd192.168......
  • Vmware 上安装部署免费开源NAS系统FreeNAS11.3操作系统(支持CIFS (samba), FTP, NFS,
    说明FreeNAS®于2005年首次跃上互联网,在过去的十年里,它已成为一个家喻户晓的名字,在全球拥有超过1000万次下载和100万次部署。FreeNAS是一套免费的NAS(网络附加存储)服务器解决方案,它基于FreeBSD和Python开发,能够将一台普通的PC转变为功能强大的网络存储服务器。概述类型:NA......
  • 戴尔xps8940机箱只需要两百块,可否让垃圾佬的主机B格提升一个Level
    戴尔XPS8940机箱只需要两百块,可否让垃圾佬的主机B格提升一个Level戴尔xps8940的机箱只需要200块,看到这个价格之后,体内垃圾佬的基因就被激发了出来,你要知道XPS可是戴尔高端的代名词,那如果我把自己的设备装到这款机箱里面,然后把机箱放在桌面显眼的位置,岂不是吊炸天了?大家......
  • VMware虚拟机安装Debian12
    一、安装环境准备二、虚拟机前置配置三、修改硬件配置四、首次开启虚拟机的初始化配置五、首次进入系统界面的配置六、Debian12换源操作一、安装环境准备虚拟机VMware版本:16真机系统:WIN10X64真机内存:16G镜像下载地址①网易开源镜像站:Indexof/debian-cd/12.5.0/amd......
  • Windows Server 2019 OVF, updated Aug 2024 (sysin) - VMware 虚拟机模板
    WindowsServer2019OVF,updatedAug2024(sysin)-VMware虚拟机模板2024年8月版本更新,现在自动运行sysprep,支持ESXiHostClient部署请访问原文链接:https://sysin.org/blog/windows-server-2019-ovf/,查看最新版。原创作品,转载请保留出处。现在都是自动sysprep的......
  • 小白学安全:轻松下载安装和激活VMware虚拟机
    一、下载VMwarehttps://pan.quark.cn/s/6e439e2c15c1二、安装VMware1、接受协议2、更改安装路径,建议非C盘3、不参与用户体验4、创建快捷方式5、开始安装三、激活VMware7、输入许可证#以下许可证选择其一即可【仅做学习交流,请支持正版】4A4RR-813DK-M81A......
  • Windows Server 2016 OVF, updated Aug 2024 (sysin) - VMware 虚拟机模板
    WindowsServer2016OVF,updatedAug2024(sysin)-VMware虚拟机模板2024年8月版本更新,现在自动运行sysprep,支持ESXiHostClient部署请访问原文链接:https://sysin.org/blog/windows-server-2016-ovf/,查看最新版。原创作品,转载请保留出处。现在都是自动sysprep的......