美文网首页
kvm一键装机

kvm一键装机

作者: 互联网中的一个咸鱼 | 来源:发表于2019-12-04 20:24 被阅读0次

本文链接 https://www.jianshu.com/p/f586f4ce0722

官方网站
创建虚拟磁盘

qemu-img create -f qcow2 /opt/kvm/data/ks-master.qcow2 50G

create_kvm.sh

#!/usr/bin/env bash

# Update kickstart file
#echo -en "Enter Hostname: "
#read HOST_NAME
#echo -en "Enter IP Address: "
#read IP_ADDRESS

HOST_NAME=ks-master
IP_ADDRESS="192.168.122.100"

sed -i 's/server1/'$HOST_NAME'/g' /opt/kvm/ks.cfg
sed -i 's/192.168.122.100/'$IP_ADDRESS'/g' /opt/kvm/ks.cfg

## Pre-defined variables
echo ""
MEM_SIZE=4096
VCPUS=2
OS_VARIANT="rhel7"
ISO_FILE="/data/CentOS-7-x86_64-DVD-1810.iso"

#echo -en "Enter vm name: "
#read VM_NAME
#echo -en "Enter virtual disk size : "
##read DISK_SIZE
VM_NAME=ks-master
OS_TYPE="linux"
sudo virt-install -v \
     --arch x86_64 --virt-type kvm \
     --name ${VM_NAME} \
     --memory=${MEM_SIZE} \
     --vcpus=${VCPUS} \
     --os-type ${OS_TYPE} \
     --location ${ISO_FILE} \
     --network default \
     --graphics=none \
     --os-variant=${OS_VARIANT} \
     --disk /opt/kvm/data/${VM_NAME}.qcow2,cache=writeback,io=threads,bus=virtio  \
     --initrd-inject="/opt/kvm/ks.cfg" \
     --extra-args="ks=file:/ks.cfg  console=ttyS0"

ks.cfg

命令创建

yum -y install system-config-kickstart
system-config-kickstart
#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
#cdrom  # 光盘
# Use graphical install
#graphical # 图形化

# Use text install
text  # 字符界面

# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=vda
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8

reboot

###############################################################
#
# network configuration
#
###############################################################
# Network information  网卡信息
network --bootproto=static --ip=192.168.122.100 --gateway=192.168.122.1  --netmask=255.255.255.0  --noipv6 --device=eth0 --nameserver=192.168.122.1,8.8.8.8 --activate

#network  --bootproto=dhcp --device=ens33 --ipv6=auto --activate
network  --hostname=ks-master

###############################################################
#
# SELinux and Firewalld
#
###############################################################

#selinux --enforcing
#selinux --permissive
#selinux --disabled

# Root password
rootpw --iscrypted $6$664MrIxqJRdWGVFl$YOzpdGg6HrzFw/OPeJde/HLv533xqFhmA.zsV1efftetxuQMowxNOeKjX9cUigHifQx2.q9HXtdfPvY3/u24o0


user --groups=wheel --name=shark --password=$6$664MrIxqJRdWGVFl$YOzpdGg6HrzFw/OPeJde/HLv533xqFhmA.zsV1efftetxuQMowxNOeKjX9cUigHifQx2.q9HXtdfPvY3/u24o0 --gecos="Mutai Josphat"

###############################################################
#
# SELinux and Firewalld
#
###############################################################

#selinux --enforcing
#selinux --permissive
selinux --disabled


firewall --disabled

# System services
services --enabled="chronyd"
# System timezone
timezone Asia/Shanghai --isUtc
# System bootloader configuration
bootloader --location=mbr --boot-drive=vda
autopart --type=lvm
# Partition clearing information
clearpart --none --initlabel

%packages
@^minimal
@core
@development
chrony
tree
wget
%end

%addon com_redhat_kdump --disable --reserve-mb='auto'

%end

%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end

优化脚本

#!/usr/bin/env bash

# Update kickstart file
echo -en "Enter Hostname: "
read HOST_NAME
echo -en "Enter IP Address: "
read IP_ADDRESS

HOST_NAME=$HOST_NAME
IP_ADDRESS=$IP_ADDRESS

sed -i 's/server1/'$HOST_NAME'/g' ./ks.cfg
sed -i 's/192.168.122.100/'$IP_ADDRESS'/g' ./ks.cfg

## Pre-defined variables
echo ""
MEM_SIZE=4096
VCPUS=2
OS_VARIANT="rhel7"
ISO_FILE="/data/CentOS-7-x86_64-DVD-1810.iso"

echo -en "Enter vm name: "
read VM_NAME
echo -en "Enter virtual disk size : "
read DISK_SIZE
qemu-img create -f qcow2 ./data/${VM_NAME}.qcow2 $DISK_SIZE
VM_NAME=$VM_NAME
OS_TYPE="linux"
DISK_PATH="./data/${VM_NAME}.qcow2"
CFG_PATH="./ks.cfg"
sudo virt-install -v \
     --arch x86_64 --virt-type kvm \
     --name ${VM_NAME} \
     --memory=${MEM_SIZE} \
     --vcpus=${VCPUS} \
     --os-type ${OS_TYPE} \
     --location ${ISO_FILE} \
     --network default \
     --graphics=none \
     --os-variant=${OS_VARIANT} \
     --disk $DISK_PATH,cache=writeback,io=threads,bus=virtio  \
     --initrd-inject=$CFG_PATH \
     --extra-args="ks=file:/ks.cfg  console=ttyS0"


sed -i 's/$HOSTNAME/server1/g' ./ks.cfg
sed -i 's/$IP_ADDRESS/192.168.122.100/g' ./ks.cfg

相关文章

  • kvm一键装机

    本文链接 https://www.jianshu.com/p/f586f4ce0722 官方网站创建虚拟磁盘 c...

  • 装机流程

    电脑频繁重启,好久没有装机了,体验到装机流程: 用U盘一键安装Win10 下载并安装网卡驱动[https://ww...

  • kvm 一键部署

    批量创建虚拟机 先要创建模板 !/bin/bash while :docat << EOF1.创建自定义配置单个...

  • kvm基本命令

    kvm常用管理命令 kvm连接方式 kvm磁盘磁盘 kvm快照管理 kvm克隆虚拟机 kvm桥接网络 kvm虚拟机...

  • KVM 使用

    1. 檢查 kvm-ok cef@P5:~$ kvm-ok INFO: /dev/kvm exists KVM a...

  • WePE工具箱 2.0(20200224)增强版

    WinPE工具箱,装机维护最得力的助手,最后救命稻草。化繁为简,小材大用,一键安装,极速启动。微PE工具箱,最好用...

  • ubuntu xenial 安装 KVM

    KVM 官网 http://www.linux-kvm.org/page/Main_Pageubuntu KVM ...

  • 第二章 KVM原理与环境构建

    获取方式 kvm 源码管理地址 (search "kvm/kvm.git")linux 内核的Tarball (t...

  • 腾讯云安装指南

    202 腾讯云小白装机指南 目录 安装宝塔面板 开放安全组并关联实例 免密登陆 vim编辑器使用 一键部署静态h5...

  • OpenStack 01

    KVM KVM 全称是 Kernel-Based Virtual Machine。也就是说 KVM 是基于 Lin...

网友评论

      本文标题:kvm一键装机

      本文链接:https://www.haomeiwen.com/subject/kjwkgctx.html