cloud-atlas-draft
  • README
  • 服务器
    • 内存
      • MLC - Intel内存延迟测试工具
    • IPMI
      • ipmitool使用tips
      • 服务器oob带外访问设置
      • ipmi操作和对应的sel日志记录
      • BMC故障导致kipmi0极高的CPU使用
      • HP服务器frimware问题导致ACPI缓存大小相关报错
      • server/ipmi/使用ipmitool在Linux平台配置IPMI
      • 系统日志IPMI message handler: BMC returned incorrect response
      • 串口管理程序conman
    • BIOS
      • 通过linux命令行修改服务器BIOS配置
      • 使用AMI SCELNX修改BIOS设置
      • Dell BIOS设置案例(关闭IR-SRV)
      • 在Linux中通过命令行修改BIOS
      • BIOS/UEFI和EDK
    • 传感器
      • 检查CPU温度
    • Open Compute
      • 服务器选型
  • 操作系统
    • Linux
      • 启动
        • RHEL7升级后磁盘设备label识别错误处理
        • 系统重启时间检查
      • 进程
        • 进程管理
          • 进程状态标志的含义
          • 运行队列中进程排查方法
          • ps命令tips
          • 杀掉多个进程的方法
          • 使用nice调整进程优先级
          • 检查进程的内存使用
          • 查看进程的线程方法
          • top命令使用tips
          • 显示最消耗cpu资源的进程
          • 检查进程运行在哪个CPU上
          • 检查进程启动时间
          • 检查进程使用网络端口
          • 控制台输出"INIT: Id "c0" respawning too fast: disabled for 5 minutes"
          • cron定时执行任务
        • SELinux
        • 线程
          • 进程和线程
          • 检查线程的方法
          • 内核线程
      • 日志
        • 日志文件管理
        • logrotate日志轮转工具
        • logwatch日志监视工具
        • mcelog系统硬件诊断日志搜集工具
        • systemd环境syslog-ng启动失败排查
        • syslog-ng部署和维护
        • tmp临时文件目录自动清理
        • 禁止日志打印到控制台
      • 内核
        • Linux资源管理
          • Cgroup快速起步
            • 如何限制进程使用的内存
            • Cgroup的CPU使用统计控制器
            • Cgroup v2简介
          • 在RHEL6中的Cgroups
            • RHEL6 Cgroups概述
            • RHEL6 使用控制组
          • 在RHEL7中的Cgroups
            • RHEL7 Cgroups概述
            • RHEL7 使用控制组
            • RHEL7 使用libcgroup工具
            • libvirtd日志报错virCgroupSetValueStr"No space left on device"
        • 网络
          • 多网卡bonding
            • Linux以太网Bonding驱动
            • 不断网在线修改bonding网卡MTU
          • 系统日志"TCP: time wait bucket table overflow"分析
          • Linux上禁用IPv6
          • 内核参数网络配置案例
          • SYN攻击、SYN cookie和其他
          • dmesg日志"TCP:unexpectedly shrunk window"
          • TCP拥塞控制
          • 通过BBR TCP拥塞控制算法加速Internet速度
          • 在Ubuntu 18上启用TCP BBR加速网络性能
          • ssh连接超时"Connection timed out"和内核tcp_syn_retries
        • 内核中日志模块和参数
          • 系统日志"__ratelimit: N callbacks suppressed"分析
        • cpu
          • CPU型号和分类
          • cpuinfo无法显示部分core
          • cpu_affinity
          • 中断和smp_affinity
          • 内核线程"migration"和CPU使用
          • 软中断
          • IRQ进程
          • 微代码Microcode
          • Linux 时钟管理
          • Intel Turbo Boost技术和intel_pstate
          • intel_pstate驱动详解
          • acpi-cpufreq主频设置
          • 修改ACPI事件:更改电源键默认操作
          • 笔记本suspended后数秒无故wake up问题排查("ACPI: Waking up from system sleep state S3")
          • 系统负载Load Averages的含义
          • 分析Intel CPU Machine Check Exception(MCE)
          • "NOHZ: local_softirq_pending 100"
          • "NETDEV WATCHDOG: slave0 (bnx2): transmit queue 5 timed out"内核Panic排查
          • Intel Skylake/Kaby Lake处理器系列简介
          • Intel Skylake/Kaby Lake处理器超线程bug及处理
          • dmidecode分析
          • "unchecked MSR access error"
          • AMD处理器ZEN一代之国产化海光
        • 内核调度
          • Linux内核调度基础知识
          • unthrottle_cfs_rq错误修复
        • 内核模块
          • 内核模块参数
          • 内核模式设置KMS
          • DKMS动态内核模块支持
          • dracut简介
        • 内存
          • 内存管理技术简介
            • 概述
          • 透明大页(Transparent Hugepages, THP)
            • 透明大页(Transparent Hugepage)
            • 在Red Hat Enterprise Linux 6/7中使用、监控和禁用透明大页
          • NUMA
            • NUMA node interleaving
            • 从UMA到NUMA
          • RDT
          • order 1内存页分配错误
          • 内核同页合并
          • 检查进程使用内存
          • 缓存清理(drop_caches)和内存压缩(compact_memory)
        • 存储
          • 块设备持久化命名
          • 块设备阻塞事件
          • kworker任务阻塞超过120秒
          • 热插拔磁盘识别
        • 内核跟踪排查
          • 为什么会发生segfault
          • 内核bug排查方法
          • 调试系统错误(Debugging System Faults)
          • 获取内核core dump
          • "Uhhuh. NMI received for unknown reason NN on CPU X"
          • kdump over nfs
          • kdump之后挂起启动而不重启
          • 获取XEN内核core dump
          • Core dump分析
          • 在core文件生成过程中压缩生成的core文件
          • 高Sys CPU的排查
          • debug呆滞的进程
          • 排查XEN服务器hang机core dump
          • vmcore分析案例:"kernel BUG at fs/buffer.c:1270"
          • 获取MySQL core
          • 在CentOS 5.11中编译crash
          • "Kernel panic - not syncing: stack-protector: Kernel stack is corrupted"
          • "hrtimer: interrupt took xxxx ns"和"NOHZ: local_softirq_pending 100"
          • "AER: Multiple Corrected error received"
          • top始终显示load 1
          • gdb和debuginfo
        • Kernel Panic案例
          • not syncing: Attempted to kill init! exitcode=0x00007f00
        • 性能
          • perf-tools性能工具
          • "perf samples too long"是什么?
          • Perf案例(译)
        • 补丁
          • ksplice, kpatch,kexec 技术简介
      • 设备管理
        • 随机数生成器RNG
        • udev
          • udev设备管理架构
        • pcie
          • 深入TLP:PCI exporess设备通讯原理
      • 存储
        • 磁盘
          • IO scheduler
          • 持久化块设备命名
          • parted磁盘工具
          • 磁盘分区4k对齐优化性能
          • Linux分区破坏的修复
          • 混合HDD/SDD的IO scheduler设置
          • 通过block_dump实时监测LinuxIO
          • 检查磁盘I/O负载
          • iotop监视磁盘访问
        • RAID
          • 在Linux中构建RAID
        • LVM
          • Linux卷管理
          • 扩展lvm卷
          • 缩小lvm卷
          • 在Gentoo上使用LVM
          • 执行pvcreate报错"Device /dev/XXX excluded by a filter."
        • 文件系统
          • Linux文件系统的未来
          • EXT文件系统
            • EXT文件系统文件数
            • EXT文件系统误删文件恢复
            • noatime参数挂载文件系统降低IO
            • 获取文件系统挂载的时间点
            • EXT3文件系统转换成EXT4
            • EXT4文件系统优化
            • EXT3文件系统报错"block bitmap and bg descriptor inconsistent"
            • EXT文件系统坏超级块恢复
            • EXT4根文件系统resize
            • EXT4文件系统dioread_nolock + nodelalloc 挂载选项异步写性能问题
            • disk label
            • 找出使用inode最多的文件目录
          • Btrfs文件系统
            • Btrfs文件系统快速起步
          • XFS文件系统
            • 重命名home目录提示"Device or resource busy"
            • xfs文件系统挂载参数
          • ZFS文件系统
            • ZFS dataset丢失排查
            • ZFS替换故障磁盘
            • ZFS高速IO缓存配置
          • FAT文件系统
            • 在Fedora中访问ExFAT文系统
          • 性能
            • iowait
        • 网络块设备(Network Block Device, nbd)
          • nbd概览
      • 网络
        • 网络协议
          • ARP
            • "arp incomplete"问题排查
        • iproute2
          • ip
        • 多网卡bonding
          • suse操作系统多网卡bonding
        • 可伸缩网络堆栈
          • RSS
        • 防火墙
          • Iptables
            • Iptables简易指南
            • CentOS设置HTTP访问iptables
          • Firewalld
            • 在CentOS7上添加防火墙端口允许访问
            • Firewalld丰富而直接的规则:设置Fedora/CentOS 7作为路由器
          • ufw
            • 使用ufw配置NAT masquerade
        • 交换机
          • 构建Linux三层交换机
          • USB over IP
          • Ethernet over USB
      • 备份
        • 使用tar备份完整Linux操作系统
        • 使用rsync备份完整Linux操作系统
      • 安全
        • 审核
          • 系统审核架构
          • 系统审计部署
          • 找出瞬间消失的TCP网络连接进程
          • 找出inode消耗原因
        • 防火墙
          • Linux防火墙简介
      • Red Hat
        • Fedora
          • 在MacBook Pro上实现Fedora和macOS双启动
          • 使用dnf对Fedora进行系统大版本升级
          • 升级到Fedora 27之后内核安装后不更新grub问题处理
          • Fedora x86_64操作系统兼容运行32位程序
          • 使用dnf安装源代码rpm
          • 在Fedora中使用BCM4360无线网卡
          • Fedora设置fcitx中文输入
          • GoldenDict和英中字典设置
          • 在Fedora中使用LXQt桌面
          • 定制LXQt桌面菜单(添加新应用启动)
          • 使用ImageMagick截屏
          • 在LXQt桌面平铺窗口
          • 在Fedora中切换桌面环境
          • 在Xfce桌面禁用alt+鼠标左键移动窗口功能
          • nVidia GT 750M显卡
          • 在Fedora中播放mp4视频
          • 在Fedora的chromium中播放flash
        • CentOS
        • 系统管理
          • CentOS/RHEL周期性自动清理/tmp目录
          • Linux操作系统登录超时设置
          • Grub 2 boot loader
            • Grub快速起步
            • 在grub2中切换默认启动内核
            • 修改grub2启动内核参数
            • 启动进入终端模式
            • EFI系统分区
          • OpenMLI
          • Systemd
            • 创建systemd服务单元
            • systemd修改主机名
            • systemd清理journal日志
            • systemd管理cpupower
            • systemd管理rc.local启动
            • 使用journalctl检查和维护systemd日志文件
            • 通过systemd设置禁止合上笔记本屏幕suspend
            • 合上笔记本屏幕时关闭屏幕
            • 通过systemd设置fedora系统hibernate休眠
            • systemd-logind高负载和内存泄漏问题排查
            • syslog-ng和systemd-journal远程日志存储
            • systemd-journal日志转发syslog
            • 在远程NFS存储上保存Linux系统日志
            • systemd-resolvd本地网络域名解析服务
            • 排查systemd-networkd配置问题
          • Network
            • CentOS7关闭IPv6
            • CentOS 7设置静态IP
            • NetworkManager命令行配置
            • 在NetworkManager管理的网络连接保持DHCP同时添加静态IP地址
            • 修改默认ens33网卡命名为传统eth0
        • rpm软件包管理
          • "无法获得metalink"错误
          • rpm使用tips
          • 检查和解压缩rpm包内容
          • 定时yum更新系统
          • 最小化安装后的yum安装
          • yum使用tips
          • 使用源代码RPMs
          • 使用dnf管理软件包
          • 转换AliOS到CentOS
          • 绝对不要删除keyutils-libs软件包
          • 无需安装的解压缩rpm文件
          • CentOS 5平台通过yum安装git
          • 跨OS平台构建rpm包
          • 升级CentOS 5系统的autoconf和automake工具
          • 通过yum-builddep安装所有从SRPM编译RPM包所依赖软件包
          • 执行"dnf upgrade"时报错"Error unpacking rpm package"处理
          • 执行"rpm -Uvh --force xxx.rpm --nodeps"返回错误码135
          • rpm命令报错"error: Failed to initialize NSS library"
          • 清理系统不使用的旧内核
        • RHEL/CentOS启动服务Tips
      • Debian
        • deb软件包管理
          • Debian最小化安装后的软件包安装建议
          • Debian安装源修改
          • Debian apt-get update出现软件包Hash Sum mismatch处理
          • 升级Debian 8 Jessie到Debian 9 Stretch
          • DEB和RPM安装包互相转换
      • Ubuntu
        • Ubuntu安装部署
          • 使用tar方式备份和恢复系统
          • 使用tar包手工安装多重启动的ubuntu
          • Ubuntu的Hardware Enablement(HWE)内核
          • "admin"账号已被Ubuntu保留无法使用
          • 在U盘上安装Ubuntu
          • Ubuntu 18.10安装NVIDIA驱动
          • 创建具有持久化存储的Live Ubuntu U盘
          • 安装XUbuntu
          • 在MacBook Pro上安装Ubuntu Server
          • 在MacBook Air上运行Ubuntu
          • 在MacBook Pro上运行ubuntu设置WIFI
          • apt upgrade之后提示"you may need to re-run your boot loader[grub]"
          • 设置apt通过代理安装软件
          • 选择最快的apt镜像网站
          • 升级Ubuntu系统到18.04 LTS Bionic Beaver
          • 避免Ubuntu内核升级
          • 使用.iso镜像或U盘作为APT软件仓库
          • 升级提示"packages have been kept back"
        • Ubuntu系统管理
          • 检查Ubuntu系统版本
          • sudo NOPASSWD不工作问题处理
          • Ubuntu启动字符模式
          • Ubuntu字符终端字体大小调整
          • Ly字符终端显示管理器
          • tessellimage进程
          • 网络
            • Ubuntu基本网络配置
            • 802.1x网络认证
      • Arch
        • Arch Linux包管理
        • Arch Linux本地化
        • 将Linux主机模拟成蓝牙键盘和鼠标
        • Arch Linux静态IP和动态IP配置
        • unblock wifi in rfkill
      • Kali
        • Kali Linux基础
        • 创建Kali镜像仓库
        • Kali Linux初始化
        • 通过VNC访问Kali Linux
        • 矫正Kali Linux时间
        • 定制Kali Linux桌面i3窗口管理器
        • 定制Kali Linux桌面fluxbox窗口管理器
        • 在Kali Linux中修改网卡Mac地址
        • 使用终端方式在Kali Linux中配置Wi-Fi网络
      • Gentoo
        • 在MacBook上安装Gentoo
        • Portage包管理
        • gcc-config错误处理一例
        • nVidia显卡
        • intel显卡
        • 混合显卡切换
        • 从KDE桌面转向Xfce桌面
        • 安装Xfce工作平台
        • 中文输入
        • 安装Broadcom无线网卡
        • 电源管理:suspend和hibernate
        • emerge包管理tips
      • SuSE
        • 在SuSE中安装软件包
        • 在SuSE中设置rc.local
      • Linux From Scratch(LFS)
        • 前言
        • 介绍
        • 准备
        • 构建临时系统
      • X window
        • 从ma上访问远程X window
        • 使用macOS的Homebrew X window远程访问Linux
        • 在macOS上使用homebrew-xorg
        • 向X window程序发送字符串
        • 配置Ubuntu平台VNC服务
        • lightdm图形登陆管理器
        • X无法启动'drmSetMaster failed'
        • noVNC:在浏览器中运行VNC
        • Xpra跨平台远程显示服务器
        • Linux的鼠标采样率
    • FreeBSD
      • FreeBSD介绍
      • FreeBSD安装
      • 在FreeBSD上安装软件:Packages和Ports
      • 在ThinkPad上运行FreeBSD
      • FreeBSD无线网络
      • 基于FreeBSD的防火墙pfSense
    • Windows
      • firewall
        • 在Event Viewer中查看Firewall和IPsec事件
      • Windows 10
        • 不同版本Windows 10区别
        • 清理Windows 10磁盘空间
        • 压缩NTFS驱动器
      • Windoes 2012
        • 在Windows Server 2012安装和卸载GUI
      • Windows 2016
        • 在Windows Server 2016 1709上安装OpenSSH
        • 在Windows服务器上安装Windows Subsystem For Linux(WSL)
        • 在Windows上运行OpenSSH
        • 在Windows上后台运行命令(类似Linux的nohup)
      • rdesktop
        • Mac平台远程桌面
      • IIS Web服务
        • 设置IIS下载.iso文件
      • DEBUG
        • 触发Windows Crash(获取memory dump)
        • Windows异常的debug方法简介
      • Windows脚本
        • Windows的无限循环脚本
  • 数据库
    • mysql
      • 安装和升级
        • CentOS 5安装MySQL 5.7
        • 创建MySQL数据库和授权
        • MySQL数据库密码安全策略返回错误"ERROR 1819"
        • 允许ROOT用户远程访问MySQL
      • 快速起步
        • mysql查询命令输出无表格线
        • mysql启动报错"Another MySQL daemon already running with the same unix socket."
        • 查询最近一小时的数据行
      • MySQL脚本
        • 在Shell脚本中使用mysql
        • 使用my.cnf作为mysql命令行配置
      • SQL
        • 查询结果排序
        • 修改表结构
        • 查询当天数据
        • 查询当前时间之前X分钟
      • 磁盘I/O
        • 什么时候MySQL执行IO
        • 如何解决MySQL IOWait过高问题
      • 索引
        • 检查MySQL表索引
      • 备份
        • 使用mysqldump备份和恢复MySQL数据库
      • 主从同步
        • 如何诊断同步备库延迟
        • MySQL多线程复制
      • 故障排查
        • MySQL Root用户密码重置
    • Oracle
      • ARM环境Oracle客户端
  • 网络
    • TCP/IP
      • TCP连接数检查
      • traceroute检查网络可达性
    • 链路聚合
      • LACP
        • LACP原理
        • LACP的ad_select参数
        • LACP数据包分析
        • bonding网卡链路down
    • 网络数据包分析
      • tcpdump
        • tcpdump
        • tcpdump实例介绍
        • tcpdump避免"packets dropped by kernel"
        • 分析跟踪失败的TCP连接和RST数据包(TCP重传率高)
        • tcpdump在启用TCP卸载功能的网卡上报告"checksum error"
        • 结合ping和tcpdump快速定位网络问题
      • wireshark
        • 使用wireshark分析TCP重传
        • 以普通用户身份运行wireshark
        • 在macOS中同时运行多个wireshark
      • ntop
        • ntop架构
        • 在CentOS 7上安装ntop
        • ntopng开源替代
      • 网络数据包分析工具
        • iftop网络流量(ip+port)分析工具
        • tcptrack网络流量(ip+port)分析工具
        • nethogs网络流量分析工具
      • Cisco
        • Overlay Transport Virtualization (OTV)
        • 交换机
          • 小型商业用交换机
            • Cisco SLM2008 8端口小型千兆交换机
          • 数据中心交换机
            • Cisco Nexus交换机延迟监控工具
        • 防火墙
          • Cisco防火墙DoS防护
      • 服务质量(QoS)
        • QoS技术简介
  • 存储
    • 服务器直连存储DAS
      • mpt2sas
        • LSI SAS2308控制芯片
        • mpt2sas驱动系统日志分析
        • mpt2sas系统日志"0x3003010a"和奇怪的sdm磁盘设备
        • mpt2sas故障排查
          • mpt2sas驱动报错案例
          • mpt2sas故障磁盘剔除
      • S.M.A.R.T.
      • 磁盘检测技术
        • 磁盘健康检查
    • GlusterFS
      • GlusterFS服务器端Quorum
    • Ceph
      • Ceph架构
        • Ceph统一存储解决架构
        • Ceph RADOS
      • Ceph硬件
        • Ceph个人存储硬件选择
      • Ceph部署
        • 在树莓派上部署Ceph集群
      • Ceph配置
      • Ceph操作
      • Ceph监控
      • Ceph和OpenStack
      • Ceph性能优化
        • Ceph性能分析
    • SPDK
      • spoold的cpu affinity
    • VDO
  • 服务技术
    • Sendmail
      • Sendmail队列异常处理
    • ssh
      • ssh密钥
      • ssh客户端配置
      • ssh-keygen生成新的SSH密钥
      • ssh指定私钥和生成无密码密钥
      • ssh端口转发
      • ssh多路传输multiplexing加速
      • 使用sslh在443端口提供多种协议服务
      • sshd服务不能加载主机key
      • sshfs远程访问服务器文件系统
      • https服务访问报错"fips_pkey_signature_test:test failure"
      • 属于多个用户组的用户ssh登陆仅显示主用户组问题
      • 加速ssh登陆
      • sshd服务多端口设置
      • ssh登陆报错"PTY allocation request failed on channel 0"
    • DNS
      • DNSmasq
        • DNSmasq快速起步
      • DNS over HTTPS
        • 一份DNS over HTTPS的卡通化介绍
    • Nginx
      • 在Mac OS X环境使用HomeBrew安装Nginx
      • 在CentOS 5环境手工安装Nginx
      • CentOS快速部署nginx+php
      • h5ai-时尚的HTTP服务器索引
      • 排查Nginx应用响应时间
      • 设置Django和Nginx uWSGI
      • Nginx uWSGI错误日志"(13: Permission denied) while reading upstream"
      • 设置Django和Nginx uWSGI的多站点
      • Docker容器迁移后uWSGI运行报错"ImportError: No module named datetime"
      • Nginx的root和alias
    • OpenResty
      • OpenResty安装
      • OpenResty快速起步
    • HAProxy
      • HAProxy和Nginx软件负载均衡对比
      • 在CentOS7中部署HAProxy
      • 使用HAProxy实现MySQL负载均衡
    • Varnish
      • 在Ubuntu上部署Varnish
      • 在Mac上部署Varnish
    • Proxy
      • Squid vs. Varnish vs. Nginx
      • Polipo:小巧的web代理服务器
      • 设置代理服务器和匿名上网
      • 在macOS上部署squid
    • FTP
      • vsftpd
    • NFS
      • CentOS 7 NFS设置
      • Ubuntu 16 NFS设置
      • NFS挂载超时排查
    • Samba
      • CentOS 7 Samba配置
    • NTP
      • NTP服务基础配置
      • 快速校准时间
      • ntpq错误"Request timed out"排查
      • ntp_gettime() returns code 5 (ERROR)
      • 在Ubuntu系统部署NTP服务
      • 命令行设置系统时间
    • aria2
      • 使用多协议多线程下载工具aria2
      • 使用aria2 WEB前端yaaw
    • 流媒体
      • OBS Studio广播
  • 消息队列
    • RabbitMQ
      • 安装RabbitMQ
      • AMQP简介
    • kafka
    • Redis
  • 安全
    • VPN
      • OpenConnect
        • 在Android上使用OpenConnect连接ocserv
        • 安装使用OpenConnect
        • 部署ocserv VPN服务器
        • 部署支持证书的OpenConnect VPN服务器(ocserv)
        • 在Ubuntu上部署OpenConnect VPN服务器(ocserv)
        • 修订ocserv端口
      • Shadowsocks
        • Shadowsocks原理
        • 部署Shadowsocks服务器
        • 在CentOS 7上部署ShadowSocks服务器
        • 安装shadowsocks客户端
    • 无线安全
      • Captive Portal
        • Captive Portal简介
        • 部署WiFiDog实现Captive Portal
      • Linux 802.1x网络认证
  • 虚拟化
    • Captive portal认证
    • Intel
      • VT-x
      • VT-d
        • Intel虚拟化技术Directed I/O架构
      • 内存虚拟化:扩展页表EPT
      • I/O虚拟化:SR-IOV
        • SR-IOV技术介绍
        • 在CentOS中部署SR-IOV
      • I/O虚拟化:数据直接I/O(DDIO)
      • 网络数据虚拟化:DPDK
        • 如何判断网卡是否支持DPDK技术
        • 在Linux中使用DPDK
        • 使用Open vSwith实现DPDK加速虚拟机网络性能
      • GPU虚拟化:GVT
    • kvm
      • kvm虚拟化架构
      • kvm嵌套虚拟化
        • CentOS7的嵌套虚拟化(nested virtualization)部署实践
      • qemu
        • QEMU的vt-d
        • vIOMMU架构
        • qemu监控指令
      • virtio
        • virtio规格
        • virtio guest端实现:PCI, virtio设备,virtio网络和virtqueue
        • Windows虚拟机virtio驱动版本
      • kvm快速起步
        • 一:基于内核的虚拟机(KVM)概览
        • 二:Redhat企业Linux安装KVM
        • 三:RHEL 7.2 配置KVM主机
        • 四:使用命令行启动第一个KVM实例
        • 五:使用Virt-Manger(VMM)部署KVM实例
        • 六:如何克隆一个KVM虚拟机并重置该虚拟机
        • 七:如何在线添加/更改虚拟磁盘
        • 八:如何在线添加/移除虚拟机的内存
        • 九:如何在线添加/移除虚拟机的vCPU
        • 十:更改libvirt虚拟机镜像存储路径
        • 十一:实现Linux KVM在线迁移
        • 十二:RHEL7 Pacemaker - 配置高可用KVM虚拟机
        • kvm快速起步实战
          • 在CentOS中部署KVM
          • 在Ubuntu中部署KVM
          • 访问VM控制台
          • 访问(修改)虚拟机镜像
          • 使用libguestfs+NBD远程访问磁盘镜像
          • KVM libvirt静态IP地址和端口映射
          • 在Gentoo中部署KVM
          • 使用Btrfs部署KVM
          • Clone KVM虚拟机实战
          • 动态调整KVM虚拟机内存和vcpu实战
          • 添加和动态调整虚拟机数据磁盘
          • 调整虚拟机btrfs文件系统大小
          • 添加和更新虚拟机设备
          • Linux KVM在线迁移实战
          • 高可用KVM虚拟机实战
          • 使用virsh删除运行的KVM VM
          • KVM虚拟机vnc远程访问鼠标偏移修复
      • kvm虚拟化部署和管理
        • kvm guest虚拟机时间管理
        • 通过QEMU guest agent和spice agent增强虚拟化
      • Ubuntu环境KVM
        • 安装
        • 网络
        • 创建虚拟机
      • kvm虚拟化存储
        • KVM虚拟机磁盘镜像修改指南(libguestfs:译+实践)
      • kvm性能
        • KVM性能调优实战
          • KVM性能优化架构简述
          • 性能监控工具
          • 多队列virtio-net
          • 使用virtio模式安装Windows
          • 在虚拟化中使用NUMA
        • KVM网络性能调优
          • KVM halt polling系统
        • kvm性能优化
        • kvm最佳实践(汇总)
        • 对于虚拟CPU的KVM性能限制
        • 大页内存技术
        • 透明大页内存技术
        • 大页内存和透明大页内存技术对比
        • Intel VT技术中的Preemption Timer
      • kvm热迁移
        • Ubuntu Guest操作系统热迁移vm内部进程OOM
        • virsh保存和恢复虚拟机状态
      • kvm DEBUG
        • kvm vcpu unhandled rdmsr/wrmsr
        • 在KVM中运行windows 10响应缓慢且CPU sys占用严重的解决方法
      • kvm测试
        • kvm单元测试
    • libvirt
      • 开发
        • 编译libvirt
          • 在CentOS 5环境中编译libvirt
          • 使用src rpm编译libvirt
          • libvirt调试排错
        • 使用Python开发Libvirt应用
          • 热迁移
      • hook
        • 通过libvirt hooks实现特定系统管理
      • Qemu
        • Qemu镜像
        • libvirt pvpanic
        • CentOS pvpanic实现和测试
        • Windows pvpanic实现
        • Windows pvpanic测试
        • 虚拟机core dump引发时间偏移和矫正方法
        • nemu - 面向云计算的轻量版QEMU
      • 设备
        • 虚拟机串口控制台
        • 检查块设备任务
      • Libvirt网络
        • libvirt网络架构
        • libvirt中的防火墙和网络过滤
        • libvirtd无法初始化ip6tables table 'filter'
      • Libvirt日志
        • libvirt日志
        • libvirtd.log日志显示"warning : qemuDomainObjTaint"
        • libvirtd.log日志显示"invalid argument: disk hdc does not currently have a source assigned"
      • NAT网络
      • 远程访问VNC
      • virsh使用
    • 虚拟网络
      • vxlan
        • vxlan概览
      • 故障排查
        • 使用tcpdump排查虚拟机网络不通
        • 虚拟机ping延迟问题排查
    • 性能
      • CPU steal
    • docker
      • Docker for Mac
        • Docker for Mac快速起步
      • Docker Engine
        • 安装
          • 在RedHat安装Docker
          • 在Docker中运行CentOS
          • 在Gentoo安装Docker
            • Docker内核支持参数说明
          • 在Ubuntu安装Docker
          • 在OS X安装Docker
        • Docker 存储
          • Docker应用程序数据
          • 调整dokcer容器可用磁盘空间
      • Docker Debugging
        • 系统日志:"new mount options do not match the existing superblock"
      • Docker开发指南(学习和实践)
        • 容器技术简介
        • 安装Docker
        • Docker快速起步
        • Docker启动容器报错"error response from daemon: secret store is not initialized"
        • 使用Docker快速部署不同版本CentOS容器
        • Docker容器启动时启动服务
        • 操作系统重启时自动启动Docker容器
        • 在Docker容器中部署Python virtualenv环境
        • 映射Docker容器内服务端口提供外部服务
        • Docker卷
        • Docker架构
        • 在开发中应用Docker
        • Docker编排(compose)
        • 运行docker ce
        • 导入和到处Docker容器(跨主机迁移)
        • 从主机视角找出Docker容器的进程
        • 检查Docker日志
        • 在Docker容器中执行命令
    • CoreOS
      • CoreOS架构
    • Kata Containers
    • xen
      • xen架构
        • Xen Hypervisor
        • Xen Hypervisor Debug
        • XenStore和xenstored
        • Xen网络概述
        • Xen内存调优
      • xen快速起步
        • xen动态添加或移除guest内存或CPU
        • xen动态添加usb设备到guest操作系统
      • xen网络
        • Amzaon VPC XEN SR-IOV性能
        • Xen多个VLANs的网络配置
      • xen存储
        • blktap块设备
        • 在Xen中挂载iso镜像文件
      • xen Debug
        • 配置XEN虚拟机Kernel core dump
        • xm list执行报错"int exceeds XML-RPC limits"
    • VMware
      • VMware虚拟机的计时
      • VMware Fusion使用指南
      • 在VMware Fusion虚拟机CentOS Guest中安装Vmware Tool
      • 在VMware Fusion虚拟机中安装macOS
      • 在VMware虚拟机中使用UEFI firmware
      • 在VMware Fusion中复制虚拟机
      • 备份VMware虚拟机
      • VMware headless模式运行虚拟机
      • VMware Fusion虚拟机磁盘空间爆满
      • VMware无法启动macOS APFS文件系统的Time Machine备份恢复
    • PowerVM
      • PowerVM介绍
    • Anbox
      • Anbox架构简介
      • 在Fedora中部署Anbox
    • Atomic
    • LXD
    • VirtualBox
      • VirtualBox使用Tips
    • bhyve
    • xhyve
      • OS X操作系统Hypervisor框架简介
      • 在OS X中部署xhyve
      • 在OS X中部署hyperkit
      • 在xhyve中运行RHEL/CentOS
      • 在xhyve中运行Debian/Ubuntu
      • 进入xhyve的docker虚拟机
    • Vagrant
      • 使用Vagrant部署开发测试环境
      • 使用Vagrant Package打包VirtualBox环境
      • 使用Vagrant部署kvm虚拟化(libVirt)
      • Vagrant Box管理
      • 使用Vagrant Snapshot创建快照备份
      • vagrant up下载镜像失败无法断点续传处理
      • vboxsf模块安装和挂载共享目录
    • 杂项
      • 如何检测虚拟或物理主机
      • 轻量级虚拟化
  • IaaS
    • MAAS
      • Intel SGX安全隔离技术
    • Amazon
      • EC2
        • 如何ssh登陆AWS的EC2实例
    • Microsoft
      • Azure
        • 在Azure上创建Linux虚拟机
    • Google
      • compute
    • Kubernetes
      • Kubernetes设计架构
      • Kubernetes快速起步
        • Hello Minikube
        • 检查kubernetes版本
      • Kubernetes故障排查
        • 排查Kubernetes集群容器重启原因
    • DC/OS
    • OpenStack
      • DevStack
        • DevStack开发环境
      • 安装指南
        • 环境
          • 安全
          • 主机网络
          • 网络时间协议
          • OpenStack软件包
          • SQL数据库
          • 消息队列
          • Memcached
      • Red Hat OpenStack
        • 架构
          • 组件
          • 架构案例
      • 华为OpenStack
    • oVirt
      • oVirt架构
      • oVirt存储管理
      • 部署oVirt
      • oVirt升级
      • oVirt的VNC密码设置
    • 腾讯云
      • 云API SDK
        • 腾讯云Python API SDK快速起步
    • 云存储
      • Dropbox
        • 在墙内如何使用Dropbox
  • 监控
    • IaaS类监控
      • skinken
      • sensu
  • 性能
    • web
      • Progressive JPEG
    • 网络
      • 网络性能优化
      • 网络工具
        • ping检查网络连通性
        • tcpreplay - 网络流量编辑和重放工具
        • netperf网络带宽测试
        • iperf网络测试
        • 使用iperf3测试网络带宽
        • ping时间戳
        • 使用sar显示网络流量
      • 网络故障排查
        • "IO error: Broken Pipe"是什么意思
    • 云计算
      • PerfKit Benchmarker
        • PerfKit Benchmaker快速起步
        • 配置PerfKit Benchmarker
        • PerfKit Benchmarker增加新的云服务商
        • 谷歌云gcp
        • 微软云azure
          • Azure起步
        • 腾讯云qcloud
          • QcloudApi起步
    • 实用工具
      • fio存储性能测试
        • fio快速起步
          • fio指南
            • fio编译和安装
      • iostat
      • tsar
      • linpack
      • dd测试磁盘性能
      • 通过sheel计算pi测试CPU性能
      • Unixbench性能测试工具
      • sysbench性能测试工具
      • SPEC CPU测试CPU性能
  • 开发
    • C
      • 编译
        • make程序时ld报错的DEBUG方法
        • gcc编译显示"cc1: warnings being treated as errors"处理方法
        • c语言中的单行注释和多行注释方法
        • 编译c程序调用Python
      • 网络
        • HTTP
          • 使用C实现一个简单的HTTP POST并处理相应
      • 打印输出
        • 重定向printf()到文件
    • Swift
      • 在Linux上安装swift 3
      • Swift服务器开发
    • Java
      • java的胡思乱想(白日梦)
        • [Java简单案例]](develop/java/java_daydream/java_simple_example.md)
        • Java输入输出
        • Java循环
        • Java数组
        • Java面向对象编程
      • 快速起步的一个例子:猜数字
      • jshell
      • groovy
        • 安装groovy
        • groovy简单语法
        • groovy字符串分隔
        • groovy时间处理
        • groovy对象比较
      • Java Trouble Shoot
        • Druid连接池"druid.pool.GetConnectionTimeoutException"
    • Go
      • Fedora环境下Go快速起步
      • macOS环境下Go快速起步
      • Go起步
      • Go测试库testify
    • iOS
      • iPhone 3GS:十年后经典再现
      • iOS6拟物化
      • iPhone 4S越狱、降级和其他
      • 新安装App提示"Verification Required"的解决
      • USIM卡
    • Android
      • 学习Android开发
        • Android应用是如何编译和运行的
        • Android开发环境
        • adb(Android Debug Bridge)和Android数据存储
        • 在Android模拟器上运行应用
        • 离线(手工)安装Android System Image
        • 配置Android模拟器使用硬件加速
      • Android起步
        • Android One和Android Go
        • Nexus 5系统升级
        • Root Android(Nexus 5)
        • Android文件传输
        • Android文件管理和apk安装
        • Android文件系统读写挂载
        • Android截屏和录屏
        • 在Google Play购买软件
        • Android开发环境准备
        • Jetbrains Idea快捷键
        • Gentoo Linux安装idea Jetbrains开发环境
        • 在Nexus上安装Android 7 Nougat
        • 在Nexus 6P上安装LineageOS 15.1
        • Nexus 6P工厂镜像恢复
        • Nexus 6P通过Full OTA镜像恢复
        • 修复Nexus 6P无限循环重启
        • 安装Elemental X内核
        • 使用MultiROM在Nexus 5上安装多操作系统
      • LineageOS
        • 构建hammerhead(Nexus 5)的LineageOS ROM
        • 构建marlin(Pixel XL)的LineageOS ROM
        • 在hammerhead(Nexus 5)上安装LineageOS
        • 在hammerhead(Nexus 5)构建Android Go
      • 我的Android设备
        • Nokia中端高可玩X7
        • Nexus 6P
        • 真正原生Android: Pixel系列
        • Pixel设置VoLTE
      • Android和Linux合体
        • 在Android中运行Linux
        • 在Android中部署ssh服务
        • 在Android上部署Linux开发环境
        • 容器模式在Linux中安装和运行Android Apps(APKs)
        • Anbox - 运行在Linux中的Android容器
          • 在Anbox容器中运行Android程序
      • BlueTooth
        • 通过蓝牙共享网络
      • NFC近场通讯
        • NFC技术概览
        • 日常生活NFC使用介绍
        • NFC开发基础
    • Raspberry Pi
      • 树莓派快速起步
      • 树莓派计算模块
      • 从USB存储启动树莓派
      • 树莓派4的USB接口问题汇总
      • 树莓派视频输出配置
      • 树莓派作为Cisco Console服务器
      • 树莓派Zero设置USB网络通讯(Ethernet Gadget)
      • 在树莓派Zero W上运行Kali Linux
    • Ubuntu Touch
      • 在Nexus 5上安装Ubuntu Touch系统
      • Ubuntu Touch使用tips
      • Ubuntu Touch手机设置802.1x无线网络
      • Ubuntu Touch运行sshd服务
      • Ubuntu Touch设置网络Proxy方法
      • 在Ubuntu Touch中运行Android程序
    • BlackBerry
      • 黑莓bb10系统运行微信
    • Meego和Sailfish
      • sfdroid:Sailfish/Android合体
      • sailfish和meego系统的第三方软件仓库
    • WebOS
      • Palm Veer共享移动internet
    • Python
      • Python开发风格
        • 开源Python项目结构
      • Python快速起步
        • pip包管理
        • 在古老的CentOS 5上安装Python 2.7以及virtualenv环境
        • 在CentOS 6上安装Python 2.7以及virtualenv环境
        • 在CentOS 7上安装Python 2.7以及virtualenv环境
        • Ubuntu环境安装virualenv和virtualenvwrapper
        • 在CentOS上安装Python3和virtualenv环境
        • 在macOS上安装Python3和virtualenv环境
        • 重建Python的virtualenv环境
        • pip升级Python软件包
        • 激活python解释器的自动完成功能
        • init.py文件
        • python编程风格
        • python中文本编码
        • 检查python对象类型
        • python处理文本
        • python中main函数作用
        • python日志
        • python日期
        • python变量写文件
        • python同时读取2个文件
        • python列表
        • python数组
        • python字典
        • Python的map函数
        • lambda语法糖:无需定义函数名的简便方法
        • python过滤字符
        • python百分比
        • python三元运算
        • python创建其他用户可写文件
        • python清空文件内容
        • python删除文件中某行
        • python列表字符串转浮点数
        • python多层嵌套字典KeyError
        • "PEP 8(E731): do not assign a lambda expression, use a def"
        • python的模块和包
        • python获取系统cpu数量
        • python nohup后台运行进程
        • 使用Graphviz模块绘制图形
        • python字典内容添加到列表
        • python site-packages简介
        • python去除字符串换行
        • Python程序Daemon化
        • Python函数返回多个值
        • Python执行外部命令subprocess
        • Python实现case/switch
        • Python使用环境变量
        • 将JSON字符串转换成Python字典
        • 本地变量分配前被引用报错"local variable 'XXX' referenced before assignment"
        • Python中对应于'null'的是什么?
        • 在Python分割字符串
        • 在Python中检查字符串是否被包含在另一个字符串中
        • 在Python中执行命令的利器"subprocess"
        • Python日志功能
        • Python处理XML
        • 安装阿里云对象存储OSS Python SDK和osscmd
        • 阿里云日志服务SLS python SDK和CLI
      • Python网络编程
        • Python WEB编程
          • 创建URL查询字符串
      • Python日志处理
        • Python日志基础
        • 在python日志中使用轮转和压缩
        • python处理systemd journal日志
      • Python文件系统
        • Python's Watchdog模块实现文件系统变化触发操作
      • Python网络开发模块Twisted
        • Twisted起步和FTP实现
      • Flask开发Web
        • 安装Flask开发环境
        • 基于Flask的Dashboard - Dash
      • DJongo开发Web
        • Django快速起步
          • 快速安装Django
          • Django项目代码架构风格
          • 使用MySQL作为Django数据库
          • 设置django的允许主机
          • 第一个Django应用
          • 离线安装Django
          • 完整uninstall一个Django app
          • 'module' object has no attribute 'views'
          • 使用django-tables2展示HTML表
          • django特定model保存记录时触发动作
          • django前端案例--Portal
          • django过滤当天发生事件
          • django实现select count(*) group by和order by
          • django缓存
        • Django DEBUG
          • "UnicodeDecodeError: 'ascii' codec can't decode byte"
        • 轻量级Django
          • Hello World
        • Django REST framework
          • Django REST framework概述
          • Django REST framework快速起步
          • 修改Django REST framework的默认title
          • Django REST framework序列化
          • Django REST framwork过滤
          • django REST Framework的时区,视图和模型刷新debug
        • Django Dashboard案例
          • 结合d3.js/reactive.js/leaflet实现Django Dashboard
        • django-dash控制台(废弃)
          • 本地运行django-dash demo
          • 使用django-dash快速构建控制台
        • 安装Django测试驱动开发环境
        • TTD(测试驱动):开发环境第一个测试
        • TTD(测试驱动):使用单元测试测试简单首页
      • Python学习案例
        • youtuble-dl下载视频网站内容
    • Ruby
      • Ruby快速起步
        • Fedora环境下Ruby快速起步
        • RubyGems安装和使用
    • JavaScript
      • jQuery
      • D3.js数据可视化
    • Node.js
      • Node.js快速起步
        • Node.js开发环境准备
        • Fedora环境下Node.js快速起步
        • Node.js开发WEB框架
        • 在Mac OS X下卸载Node.js
      • npm包管理
        • npm使用tips
        • svg2png
    • 浏览器
      • Firefox
        • 设置Firefox默认页面缩放比例zoom
        • Firefox的Dark风格设置(styelish)
        • Firefox自动代理切换
      • Chrome
        • 设置Chrome代理
      • Min
    • PHP
      • Nginx php-fpm配置优化Tips
    • Mac
      • 在mac上从iso镜像创建启动U盘
      • 从macOS Recovery中重新安装macOS
      • 从Time Machine备份中恢复Mac数据
      • 检测Time Machine备份的Mac OS X版本
      • 降级macOS
      • 在VMware虚拟机中运行Mavericks
      • 中文输入法
      • macOS内建的文本朗读(英语)
      • Mac平台使用VLC播放器的中文字幕显示
      • Mac平台最佳视频播放器iina
      • TextMate 2使用Tips
      • Sublime 3使用Tips
      • 在Mac OS X上安装Java多个版本
      • 使用MacBook键盘在移动设备输入
      • Mac网络
      • macOS上使用ftp
      • 从safari中导出打开的tab
      • bird进程
      • 在Mac上双启动方式安装Linux
      • 创建macOS启动安装U盘
      • 在Mac上使用Boot Camp Assistant安装Windows 10
      • rEFInd工具详解
      • 加速Time Machine备份速度
      • 在mac上输入特殊字符
      • Mac锁屏
      • Mac吸入式光驱强制弹出光盘
      • 为旧主机选择最快的Mac OS X版本
      • 通过Reset NVRAM来恢复触控板
      • Apple文件系统apfs
      • 苹果充电器指示灯闪烁无法充电
      • 通过SSHFS在Mac上远程开发Linux服务器程序
      • 在macOS上安装配置vsftpd
      • 清理macOS上的Purgeable磁盘空间
      • 调整macOS的apfs容器空间
      • 调整APFS文件系统出现"APFS Container Resize error code is 49153"
      • Mac OS X挂载NFS共享
      • MacOS快捷键
      • 从Time Machine中恢复隐藏文件
      • iTerm2中文显示问题处理
      • iTerm2黑暗模式
      • 安装使用GNU sed
      • 具有BouchBar的新款MacBook和Linux
      • 在Mac OS X中通过CLI命令行获取CPU信息
      • 不能运行"not from a verified developer"程序
      • Mac OS X Mavericks和iOS 6组合(体验最后的拟物化苹果生态)
      • 将iPad作为Mac的第二块屏幕(sidecar)
      • MacBook Pro 2018使用外接显示器
      • macOS安装冻结问题处理
      • macOS的磁盘工具First Aid功能
      • 查找macOS的IP地址
      • 升级macOS之后运行程序报错"missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcru"
      • 在Mac上使用checksum校验文件
    • shell
      • bash
        • bash快捷键
        • shell的特殊变量
        • 判断shell变量是否空字符串
        • 字符串比较错误提示"unary operator expected"
        • shell脚本中使用source和使用./cmd.sh区别
        • here document用法(cat << EOF)
        • 根据命令返回结果做if判断
        • 使用sudo在文件中添加内容
        • shell中的环境变量
        • shell函数tips
        • 生成随机数和随机字符串
        • shell中使用数组
        • shell中读取文件到bash数组
        • 列出所有cron定时任务
        • 在shell中计算
        • 在bash计算
        • shell中的break和continue指令
        • 读取文件逐行处理元素
        • 两个文件相减
        • 在shell中使用while循环
        • 在while循环中执行ssh中断循环的解决方法
        • shell中调用函数返回值的方法
        • shift的用法
        • 移除换行
        • 删除字符串最后n个字符
        • 删除一个文件的最后一行
        • 替换多个空格成为一个空格
        • ``符号和脚本进程
        • 同时赋值给多个变量
        • 在shell中比较小数的大小
        • sudo执行bash脚本报错"sudo: unable to execute"
        • 获取字符串最后几个字母
        • 对比目录文件异同
        • 文件对比
        • 判断字符串包含关系的方法
        • 检查字符串长度
        • "exec"指令的含义
        • 从函数返回
        • 检查变量是否是一个数值
        • shell中判断字符串null值
        • 删除文件名中包含"--"的文件
        • 使用nohup执行while循环
        • 修改nohup命令默认输出文件名"nohup.out"
        • 通过SSH远程写入文件
        • ping测试记录时间戳
        • 软链接和文件名
        • shell中字符串大写和小写转换
        • shell中处理json数据工具jq
        • shell检查主机是否alive
        • shell中检查服务器进程使用cpu
        • 获取网卡IP地址
        • 高效清理文件系统大量文件的方法
        • 找出系统端口监听服务进程
        • 判断文件是否为空
        • 执行rm,cp,mv命令出现"Argument list too long"报错的解决方法
        • 切分字符串赋值给多个变量
        • 计算字符串长度(字符数量)
        • 删除字符串的最后字符
        • 补全字符串
        • 检查数字是偶数还是奇数
        • 转换Linux uptime时间到易于理解的格式
      • zsh
        • oh-my-zsh
      • sed和awk
        • awk和shell之间的变量传递
        • 打印列中包含某个字符串的列
        • awk处理字符串搜索
        • sed举例
        • 如何避免sed -i破坏文件的软链接
        • sed替换行首和行尾
        • 使用sed修改配置文件到键值
        • Mac平台sed命令使用-i参数失败及解决方法
        • 删除文件的首行和尾行
        • 删除文件的最后一列
        • 累加所有行的每一列数值
      • 实用工具
        • sudo切换账号运行程序
        • 修改用户帐号名/uid/gid的工具usermod和groupmod
        • 脚本作为daemon运行
        • cut使用举例
        • sort排序
        • 对cpu施加负载
        • 多路复用终端管理器screen
        • 多路复用终端管理器"增强版"byobu
        • 随机输出文本文件中的行:shuf
        • 使用usermod禁用帐号
        • 使用tree展示目录结构树
        • 根据进程名pgrep和pkill
        • wget下载文件tips
        • HTTP协议利器curl
        • 命令执行超时检查工具timeout
        • 脚本使用ssh的密码认证工具sshpass
        • 并行执行ssh命令工具pssh
        • 命令输出处理工具xargs
        • 文件查找工具find
        • parallel利用多核CPU加速Linux命令
        • 命令速查表cheat
        • 语音合成工具espeak
        • 网络万能工具nc
        • 限制命令的io调度和权重
        • 配置修改工具augeas
        • 高效压缩工具xz
        • tar命令再认识
        • echo命令再认识
    • vim
      • vim快速起步
      • vim 跳转到函数、变量定义处
      • vim tips
      • vim树形导航插件NERDtree
      • vim编译配置"YouCompleteMe"
      • vim结合ctags作为开发平台
      • vim开发内核环境
      • 将Vim打造成Python开发平台
      • 使用vim作为c/c++ IDE
      • 使用vim作为c/c++ IDE(again)
      • 使用vim作为IDE
      • 在macOS平台使用vim作为IDE
      • vim大小写转换
      • 设置vim缩进和TAB
      • vim列编辑
      • vim并列视图编辑和查看同一文件(viewports)
      • 卸载macvim
    • 文档
      • dot
        • 使用Graphviz生成系统诊断图
      • GitBook
        • 使用GitBook撰写书籍
        • 如何在一台主机同时运行多个GitBook
        • GitBook评论插件
        • GitBook单章节展开插件
        • GitBook代码段添加文件名
        • GitBook多国语言
        • GitBook嵌入视频
      • MkDocs
        • 使用MkDocs撰写书籍
      • Hugo
        • 使用Hugo撰写文档
      • Hexo
        • 使用hexo撰写blog
        • 使用hexo theme tranquilpeak
      • Sphinx
        • 使用Sphinx构建Python程序文档
        • 使用Sphinx构建Django程序文档
        • sphinx中文文档在readthedocs编译PDF失败的处理
        • 结合plantuml使用sphinx撰写时序图文档
        • sphinx文档的代码展示
        • sphinx文档的footer定制
        • sphinx图片
        • 'redrawtime' exceeded, syntax highlighting disabled
      • MoinMoin
        • MoinMoin 2安装
        • MoinMoin 1安装
        • 配置Moin
        • Moin Themes
      • Office
        • 在Linux中使用Sozi制作PPT
        • Linux演示工具(PPT)
      • OmniGraffle
      • Sketch
    • 编程架构
      • 统一建模语言UML
        • 看懂UML类图和时序图
      • RESTful开发架构
        • RESTful简介
        • 理解RESTful架构
        • RESTful认证和权限机制浅析
    • 机械键盘
  • DevOps
    • 基础架构工程师视角的DevOps
    • 持续集成/交付/部署
      • 持续集成/交付/部署概述
    • Git
      • git代理配置
      • git分支的新建与合并
      • git的tag和branch
      • git pull覆盖本地文件(完全舍弃本地文件)
      • git合并时冲突放弃本地修改方法
      • git远程操作
      • git和dropbox冲突
      • 针对不同域名git push时使用指定SSH key
      • git忽略文件mode修改
      • git重新基于master开发分支
      • 合并多个commit
      • git色彩显示
      • 在不同git仓库代码使用不同用户名
      • [git合并冲突解决](devops/git/git _merge_fix_conflicts.md)
      • git checkout指定tag
      • 从git仓库中清理敏感信息(如密码))
      • git通过SSH Tunnel代理访问
      • git文件的执行属性
      • 修改git commit消息
    • Gerrit
    • Gitlab
      • 部署使用的ssh key
      • gitlab Wiki系统gollum
    • Gogs
    • Jenkins
    • Ansible
      • 起步
        • Ansible快速教程
        • 安装
        • 快速起步
        • 清单
        • 动态清单
        • Patterns
        • Ad-Hoc命令
      • Playbooks
        • Playbooks入门
        • 案例:升级CentOS操作系统
        • 案例:通过sudo安装rpm包
      • 模块
        • command - 在远程节点执行一个命令
        • shell - 在远程节点执行命令
      • Dashboard
        • Ansible Tower开源替代:semaphore
      • 问题排查
        • TAB键导致"Syntax Error while loading YAML"
        • paramiko主机认证报错
        • paramiko主机认证报错
        • playbook执行报错"requires the stdlib json or simplejson module"
      • Tips
        • Ansible模块shell,command
        • 如果软件包没有安装则执行命令
        • 不检查SSH主机fingerprint
        • 变量和引号
        • ansible性能优化
        • 使用ansible.cfg
        • 安装rpm报错"unfinished transactions remainin"
        • yum安装报错"Package XXX is not signed"
        • yum安装报错"No Package matching"
        • Ansible批量复制文件
    • Puppet
  • 大数据
    • Hadoop
      • 快速起步
        • 单机安装部署Hadoop
      • 故障排查
        • RHEL6环境下透明大页和Hadoop高CPU sys
    • Flink
      • flink流处理架构
    • Spark
      • 快速起步
        • 单机安装部署Spark
      • Spark机器学习
    • Elasticsearch
      • ESK简介
      • ESK快速安装
    • ZooKeeper
  • 机器学习
    • 斯坦福机器学习(CS229)
      • 机器学习介绍
      • 监督学习介绍
      • 无监督学习介绍
      • 单变量线性回归
      • 多变量线性回归
    • 单变量的线性回归
    • TensorFlow
      • 面向机器智能的TensorFlow
    • 机器翻译
      • moses
    • GPU计算
      • nVidia CUDA
      • AMD ROCm
    • Jetson Nano
      • vpi1-demos报错可忽略
  • 学习
    • 慕课(mooc)
      • 我的慕课
    • 天堂电影院
      • 使用VLC播放加密蓝光碟片
    • Kindle在,人未老
      • 重置Kindle Paperwhite
      • 使用calibre去除kindle DRM
      • 备份Kindle电子书
      • 电子书阅读软件
      • Kindle个人文档
      • 制作合适kindle的pdf:pdf切边和重排
      • 使用Kindle阅读pdf文档
    • GTD: Getting Things Done
  • 附录:个人工作室构建
    • MacBook双操作系统启动macOS+Linux
    • 使用Fedora作为开发平台
    • 无线网络设置
    • 帐号、ssh和sudo设置
    • 部署kvm虚拟化
    • 部署docker容器
    • 部署OpenStack
    • 远程开发Linux服务器程序
    • NFS设置和共享目录
    • Django开发设置
    • 部署Nginx+uwsgi运行Django
    • HAProxy端口转发
    • 使用wekan作为Trello类型的"看板"管理自己的工作
  • Who am I?
Powered by GitBook
On this page
  • 环境
  • 系列教程编译

Was this helpful?

  1. 虚拟化
  2. kvm
  3. kvm快速起步

十一:实现Linux KVM在线迁移

Previous十:更改libvirt虚拟机镜像存储路径Next十二:RHEL7 Pacemaker - 配置高可用KVM虚拟机

Last updated 5 years ago

Was this helpful?

在KVM中,你可以从一台主机迁移一个KVM虚拟机到另外一台主机而无须宕机。如果两个KVM物理服务器访问共享的存储池,KVM在线迁移可以完美运行。要在两个KVM主机上访问共享的存储池,你需要使用NFS或者GFS2文件系统(集群文件系统)。在这个案例中,我使用NFS文件系统来存储VM镜像。在迁移过程中,VM的"内存"内容将复制到目标KVM物理主机,并且在某个时间点相同内容时切换来迁移VM。注意,当在KVM主机间使用共享文件系统,VM的磁盘镜像不在通过网络复制,这样两个KVM物理主机将访问相同的存储池。

环境

  • KVM物理主机 – UA-HA 和 UA-HA2

  • VM名字 – UAKVM2

存储池:

[root@UA-HA ~]# df -h /kvmpool/
Filesystem                 Size  Used Avail Use% Mounted on
192.168.203.134:/kvmstore  1.8G  1.7G   88M  96% /kvmpool
[root@UA-HA ~]# ssh UA-HA2 df -h /kvmpool/
Filesystem                 Size  Used Avail Use% Mounted on
192.168.203.134:/kvmstore  1.8G  1.7G   88M  96% /kvmpool
[root@UA-HA ~]# ls -lrt /kvmpool
total 1710924
-rw------- 1 root root 4295884800 Dec 22 18:07 UAKVM2.qcow2
[root@UA-HA ~]#

你必须在KVM主机之间配置无须密码的root登录ssh来立即启动迁移以避免root用户密码提示。

  • 当

系列教程编译

本系列教程根据 系列教程编译,共分以下文章:

UnixArena Linux KVM
一:基于内核的虚拟机(KVM)概览
二:Redhat企业Linux安装KVM
三:RHEL 7.2 配置KVM主机
四:使用命令行启动第一个KVM实例
五:使用Virt-Manger(VMM)部署KVM实例
六:如何克隆一个KVM虚拟机并重置该虚拟机
七:如何在线添加/更改虚拟磁盘
八:如何在线添加/移除虚拟机的内存
九:如何在线添加/移除虚拟机的vCPU
十:更改libvirt虚拟机镜像存储路径
十一:实现Linux KVM在线迁移
十二:RHEL7 Pacemaker - 配置高可用KVM虚拟机
KVM热迁移