普通视图

在银河麒麟桌面操作系统 ARM 版上安装 KVM 虚拟化

2025年8月17日 00:00

KVM 是一种开源全虚拟化解决方案,能够在 Linux 系统运行多个操作系统。本文将详细介绍如何在银河麒麟桌面操作系统 ARM 版安装 KVM 虚拟化环境,帮助用户搭建高效的虚拟化平台。

准备工作

  1. 硬件要求

确保 ARM 架构设备支持虚拟化技术。通常,支持虚拟化的 ARM 处理器会支持硬件辅助虚拟化功能。

系统至少需要 4GB 内存和 20GB 的硬盘空间。

  1. 软件要求

银河麒麟桌面操作系统 ARM 版「如 V10」

KVM 虚拟化相关的软件包。

安装 KVM 虚拟化环境

  1. 安装 KVM 和相关工具
1
2
sudo apt update
sudo apt -y install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager

注意:在银河麒麟桌面操作系统 ARM 版上,可以通过上面命令安装 KVM 和相关工具。

  1. 包的作用

上面软件包的作用如下:

包名作用
qemu-kvm提供 KVM 虚拟化核心功能
libvirt-daemon-system用于管理虚拟机的后端服务
libvirt-clients提供客户端工具管理虚拟机
bridge-utils用于配置网络桥接
virt-manager提供图形化界面管理虚拟机
  1. 添加用户到 libvirt 组内
1
sudo usermod -aG libvirt $(whoami)

注意:为方便管理虚拟机,需要将当前用户添加到 libvirt 组,然后注销重新登录,使组成员关系生效。

  1. 验证是否安装成功
1
virsh --version

注意:运行上面命令来检查 KVM 是否正常工作,如果返回版本信息,说明 KVM 安装成功了。

创建 KVM 虚拟机

  1. 下载镜像

可以从银河麒麟官方网站下载适合 ARM 架构的虚拟机镜像文件。

Kylin-Desktop-V10-SP1-2403-Release-20240430-arm64.iso 文件。

  1. 创建虚拟磁盘
1
qemu-img create -f qcow2 /path/to/disk.img 50G

注意:使用上面命令创建虚拟磁盘。其中/path/to/disk.img 是虚拟磁盘路径,50G 表示磁盘的大小。

  1. 启动 KVM 虚拟机安装
1
qemu-system-aarch64 -m 2048 -cpu cortex-a76 -smp 4 -M virt -bios /path/to/QEMU_EFI.fd -device VGA -device nec-usb-xhci -device usb-mouse -device usb-kbd -drive if=none,file=/path/to/disk.img,id=hd0 -device virtio-blk-device,drive=hd0 -drive if=none,file=/path/to/Kylin-Desktop-V10-SP1-2403-Release-20240430-arm64.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom

注意:使用上面命令启动 KVM 虚拟机安装。其中-m 2048 分配 2048MB 内存;-cpu cortex-a76 指定 CPU 类型;-smp 4 是指定虚拟 CPU 核心数。

  1. 完成安装

按照虚拟机安装界面的提示完成安装过程。

安装完成后 KVM 虚拟机将自动重启。

使用 KVM 管理虚拟机

  1. 使用 virsh 命令行工具

列出所有 KVM 虚拟机:

1
virsh list --all

启动 KVM 虚拟机:

1
virsh start <KVM 虚拟机名称>

关闭 KVM 虚拟机:

1
virsh shutdown <KVM 虚拟机名称>

强制停止 KVM 虚拟机:

1
virsh destroy <KVM 虚拟机名称>

挂起 KVM 虚拟机:

1
virsh suspend <KVM 虚拟机名称>

恢复挂起 KVM 虚拟机:

1
virsh resume <KVM 虚拟机名称>
  1. 使用 virt-manager 图形化界面

virt-manager 提供了一个直观的图形化界面,方便用户管理 KVM 虚拟机。

启动 virt-manager 后,可以连接到本地或者远程的 KVM 服务器,创建、启动、停止 KVM 虚拟机。

Linux 系统监控利器 ctop 命令详解

2025年7月12日 00:00

在 Linux 系统,尤其是当我们在管理多个容器时,了解系统和容器的资源使用情况至关重要。今天,就给大家介绍一款强大的监控工具 ctop,本文详细介绍 ctop 的安装、使用、命令选项。

ctop 命令的简介

ctop 是一个类似 top 命令的界面工具,它专注于容器环境,能够实时监控 Docker/Podman 等容器运行时的性能指标,如 CPU、内存、网络、磁盘 I/O 等使用情况。

它以一种直观的方式展示各个容器的详细信息,让管理员可以迅速掌握系统整体健康状况,并且快速定位到可能存在性能瓶颈的容器。

与传统 top 命令相比,ctop 提供更丰富的容器相关数据和更便捷的交互方式。

它不仅能展示容器的基本资源使用率,还能深入到每个容器的进程级别,查看内部运行具体进程,这对于深入分析容器性能表现非常有帮助。

ctop 命令的安装

  1. Linux 系统的安装方法「以 Ubuntu 为例」
1
2
sudo wget https://github.com/bcicen/ctop/releases/download/v0.7.7/ctop-0.7.7-linux-amd64 -O /usr/local/bin/ctop
sudo chmod +x /usr/local/bin/ctop

注意:可以直接从 Github 下载最新版本的二进制文件进行安装,以上是具体的步骤「这里以 v0.7.7 版本为例」最后,用命令 ctop -v 验证是否安装成功,若可以正确显示版本号,说明安装成功。

  1. 通过 Docker 的方法安装
1
docker run --rm -it --name=ctop -v /var/run/docker.sock:/var/run/docker.sock quay.io/vektorlab/ctop:latest

注意:也可以使用 Docker 快速启动 ctop 容器来进行监控。

ctop 命令的使用

  1. 基本使用

在终端中输入 ctop 命令后回车,即可启动 ctop 程序进入主界面。在界面中,会显示出所有正在运行的容器及其资源使用情况的概览,包括容器名称、CPU 使用率、内存使用量及限制、网络收发速率、磁盘读写速率、进程数等信息。

可以通过方向键上下移动光标来选择不同容器,然后按下回车键可以查看到所选容器详细信息,如容器的创建时间、各资源的详细使用数据以及内部运行的进程列表等。

  1. 命令选项

命令选项列表如下:

选项描述
ctop -a只查看正在运行中容器,方便专注那些实际处于活动状态、可能对系统资源产生影响的容器。
ctop -f string查看包含指定字符串的容器,当系统中有大量容器时,利用此选项可快速过滤出我们关心的特定容器进行监控。
ctop -i反转默认颜色,如默认的颜色显示效果不佳,或需要与其它界面风格保持一致,可使用该选项来改变界面的颜色显示。
ctop -r反向容器排列顺序,默认情况下存活的容器在前,使用此选项可将其顺序反转,以便按照不同顺序查看容器。
ctop -s string按照指定字段排序,如执行 ctop -s net 可以按照网络使用率对容器进行排序,从而快速找到网络流量较高容器。

交互操作

交互操作列表如下:

操作描述
h打开帮助,在使用过程中如果忘记了某些快捷键的功能或者想了解更多操作方法,可以随时按下 h 键查看帮助信息。
s打开排序,通过此快捷键可以方便地切换不同的排序字段,无需重新输入命令选项。
q退出打开的对话框,当查看完帮助信息或排序设置后,按下 q 键可以退出相应的对话框,返回到主界面。
a只显示正在运行的容器,与 ctop -a 命令效果一致,但在已经启动了 ctop 程序的情况下,使用快捷键可更快速地切换显示模式。
r反转排序,正在运行容器放在末尾,方便在不同的排序需求之间快速切换。
f输入指定字符串过滤出想要查看容器,与 ctop -f string 命令类似,无需重新输入命令,直接在当前界面中进行过滤操作。
j用于向下移动光标,方便在容器列表中快速定位到不同的容器。
k用于向上移动光标,方便在容器列表中快速定位到不同的容器。
Enter查看指定容器详细指标,当光标定位到某个容器,按下回车键即可进入该容器详细信息界面,查看更全面的资源使用以及进程信息。

Linux 下的高效压缩工具 Zstandard

2025年7月6日 00:00

Zstandard 以其卓越的性能和丰富的功能,成为了 Linux 下一款不可或缺的压缩工具。无论是对单个文件还是整个目录的压缩和解压,它都可以轻松应对,且在处理速度和压缩效果上都有着出色的表现。

Zstandard 的简介

Zstandard 是由 Facebook 开发并开源的一种快速无损压缩算法,2015 年首次发布以来,凭借其高压缩比和快速的解压缩速度,逐渐受到了开发者青睐。

它不仅在压缩效率上超越传统的 gzip 等工具,还能在保持高压缩率的同时,实现极快解压速度,特别适合对数据处理效率要求较高的场景,如大数据处理、日志压缩、网络数据传输等等。

Zstandard 的特点

高压缩比:通常情况下 Zstandard 能够获得比 gzip 更好压缩效果,有效减少数据存储空间。

快速解压:其解压缩速度极快,即使是低压缩等级,解压速度也能远超一些 SSD 的读取速度,大大提高了数据的读取效率。

多线程的支持:Zstandard 自带多线程压缩功能,可以充分利用多核 CPU 的性能,大幅提升压缩速度。例如,在处理大量数据时,多线程压缩能够显著的缩短压缩时间,提高工作效率。

丰富压缩级别选择:提供了从 1 到 22 的压缩级别选择,用户可根据实际需求在压缩速度和压缩率之间进行灵活权衡。压缩级别越高,压缩比率越大,但压缩速度会相应减慢;反之,压缩级别越低,压缩速度越快,但压缩比率会有所降低。

字典压缩模式:Zstandard 为小数据提供一种特殊的字典压缩模式。用户可通过提供一些样本数据来训练生成字典,然后在压缩和解压时加载该字典,从而在小数据上实现更高压缩率,这对于处理大量小文件场景非常有用。

使用模式:Zstandard 提供了多种命令模式,包括压缩、解压、查看压缩信息、测试压缩文件等等。

Zstandard 的安装

Debian/Ubuntu 系统的安装命令如下:

1
sudo apt install zstd

Fedora/Red Hat/CentOS/AlmaLinux 系统的安装命令如下:

1
sudo dnf install zstd

Arch Linux/Manjaro 系统的安装命令如下:

1
sudo pacman -S zstd

也可以从源码编译安装「这里以 1.5.7 版本为例」命令如下:

1
2
3
4
5
wget https://github.com/facebook/zstd/releases/download/v1.5.7/zstd-1.5.7.tar.gz
tar -zxvf zstd-1.5.7.tar.gz
cd zstd-1.5.7/
make
sudo make install

Zstandard 的使用

  1. 压缩文件

基础压缩:使用命令 zstd file_name 即可对文件进行压缩,压缩后会生成一个扩展名为.zst 的文件,如 zstd doc.txt,会生成 doc.txt.zst 文件。

指定压缩级别:可通过选项来指定压缩级别,例如 zstd -3 file_name 表示使用压缩级别-3 进行压缩。

  1. 解压文件

基础解压:使用 zstd -d archive_name.zst 即可对文件进行解压,解压后的文件会自动去除.zst 后缀。

指定解压后文件名:同样可使用-o 选项来指定解压后的文件名,如 zstd -d archive_name.zst -o new_file_name

  1. 压缩目录

压缩整个目录:可以使用 zstd -rz directory_name 来压缩整个目录,其中-r 表示递归压缩目录中所有文件和子目录,-z 表示压缩的操作。

解压目录:对于压缩后的目录文件,使用 zstd -dr archive_name.zst 进行解压缩,-d 表示解压缩操作,-r 表示递归解压缩。

  1. 查看压缩文件内容

使用 zstd -l archive_name.zst 可以查看压缩文件的相关信息,如压缩比、压缩级别、文件大小等等。

zstd -t archive_name.zst 则可用于测试压缩文件的完整性,确保文件在压缩和传输过程中未损坏。

❌