virt-filesystems

# virt-filesystems -l -h -a Rocky-8-GenericCloud-Base.latest.x86_64.qcow2
Name       Type        VFS   Label  Size  Parent
/dev/sda1  filesystem  vfat  -      100M  -
/dev/sda2  filesystem  xfs   boot   994M  -
/dev/sda4  filesystem  xfs   -      8.9G  -
# virt-filesystems -l -h --all -a Rocky-8-GenericCloud-Base.latest.x86_64.qcow2
Name       Type        VFS      Label  MBR  Size   Parent
/dev/sda1  filesystem  vfat     -      -    100M   -
/dev/sda2  filesystem  xfs      boot   -    994M   -
/dev/sda3  filesystem  unknown  -      -    1.0M   -
/dev/sda4  filesystem  xfs      -      -    8.9G   -
/dev/sda1  partition   -        -      -    100M   /dev/sda
/dev/sda2  partition   -        -      -    1000M  /dev/sda
/dev/sda3  partition   -        -      -    1.0M   /dev/sda
/dev/sda4  partition   -        -      -    8.9G   /dev/sda
/dev/sda   device      -        -      -    10G    -

qemu-img

qemu-img create / convert / info

# qemu-img create -f raw disk.raw 50G
Formatting 'disk.raw', fmt=raw size=53687091200

# qemu-img convert -f raw -O qcow2 disk.raw disk.qcow2

# qemu-img info disk.qcow2
image: disk.qcow2
file format: qcow2
virtual size: 50 GiB (53687091200 bytes)
disk size: 196 KiB
cluster_size: 65536
Format specific information:
    compat: 1.1
    compression type: zlib
    lazy refcounts: false
    refcount bits: 16
    corrupt: false
    extended l2: false

qemu-img resize

# qemu-img resize disk.qcow2 +10G
Image resized.

# qemu-img resize disk.qcow2 -10G
qemu-img: Use the --shrink option to perform a shrink operation.

# qemu-img resize --shrink disk.qcow2 -10G
Image resized.

# qemu-img resize disk.qcow2 100G
Image resized.

virt-sparsify

sparse thin-provisioned disk (reduce the size)

# virt-sparsify indisk outdisk
# qemu-img convert -f qcow2 -O qcow2 indisk.qcow2 outdisk.qcow2

virt-customize

virt-customize -a Rocky-8-GenericCloud-Base.latest.x86_64.qcow2 \
--hostname vdtn01 \
--root-password file:password.txt \
--ssh-inject root:file:mgr.pub \
\
--timezone Asia/Seoul \
\
--install vim,wget,unzip,tar,gzip,tmux,tree,git,zsh,sqlite,net-tools,ipmitool,lshw,inxi,htop,hwloc-gui \
\
--copy-in /oh-my-zsh:/ \
--copy /oh-my-zsh/templates/zshrc.zsh-template:/root/.zshrc \
--copy /oh-my-zsh/templates/zshrc.zsh-template:/etc/skel/.zshrc \
--run-command "sed -e 's#bash#zsh#g' -i /etc/passwd; echo" \
--run-command "sed -e 's#bash#zsh#g' -i /etc/default/useradd; echo" \
\
--copy-in sysctl/97-net-tune-over-10g.conf.disabled:/etc/sysctl.d/ \
--copy-in sysctl/97-net-tune-over-1g.conf.disabled:/etc/sysctl.d/ \
--copy-in sysctl/97-net-tune-over-40g.conf.disabled:/etc/sysctl.d/ \
--copy-in sysctl/98-ipv6-disable.conf.disabled:/etc/sysctl.d/ \
\
--run-command "[ ! -f /etc/ssh/sshd_config.bak ] && cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak; echo" \
--upload sshd_config:/etc/ssh/sshd_config \
\
--selinux-relabel

virt-sysprep

sysprep : system preparation

virt-sysprep - reset, unconfigure or customize a virtual machine so clones can be made

# virt-sysprep -a vdtn01.qcow2

virt-sysprep --operations

default operation exclude ssh-userdir

# virt-sysprep -a vdtn01.qcow2 --operations defaults,-ssh-userdir

virt-ls / virt-cat / virt-edit

# virt-ls -a vdtn01.qcow2 /etc/sysconfig/network-scripts
ifcfg-eth0

# virt-cat -a vdtn01.qcow2 /etc/sysconfig/network-scripts/ifcfg-eth0
...

# virt-edit -a vdtn01.qcow2 /etc/sysconfig/network-scripts/ifcfg-eth0
  • 레이블 없음