Centos 安装KVM并安装虚拟机

2023-11-17

需要注意的地方:

!!!如果修改了虚拟机XML配置,需要停止虚拟机,然后使用以下命令重新读取XML配置!!!:

virsh define /etc/libvirt/qemu/centos7.xml

Linux服务器两块独立的网卡最好不要配置同一网段的IP地址,不然有时会有些Bug。

virsh edit name 可以更改虚拟机配置

如果虚拟机需要使用双网卡,virsh edit新增一块网卡的配置,并且将新增的网卡挂载到宿主机另一块网卡上即可。挂载在同一块上也行

 

新增一个网卡:

virsh attach-interface cent_xu --type bridge --source br0
virsh dumpxml cent_xu > /etc/libvirt/qemu/cent_xu.xml

检测是否支持KVM

KVM 是基于 x86 虚拟化扩展(Intel VT 或者 AMD-V) 技术的虚拟机软件,所以查看 CPU 是否支持 VT 技术,就可以判断是否支持KVM。有返回结果,如果结果中有vmx(Intel)或svm(AMD)字样,就说明CPU的支持的。

cat /proc/cpuinfo | egrep 'vmx|svm'

flags   : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm xsaveopt cqm_llc cqm_occup_llc

关闭SELinux,将 /etc/sysconfig/selinux 中的 SELinux=enforcing 修改为 SELinux=disabled

 

安装 KVM 环境

通过 yum 安装 kvm 基础包和管理工具

# 安装 kvm 基础包
# ------------------------
yum -y install kvm

# 安装 kvm 管理工具
# ------------------------
yum -y install qemu-kvm python-virtinst libvirt libvirt-python virt-manager libguestfs-tools bridge-utils virt-install

# qemu-kvm: KVM模块

# pyhon-virtinst: 包含python模块和工具(virt-install,virt-clone和virt-image),
# 用于安装和克隆虚拟机使用libvirt。 它完全支持paravirtulized客人和客人虚拟客人。 
# 支持的虚拟机管理程序是Xen,qemu(QEMU)和kvm

# libvirt: 虚拟管理模块
# virt-manager: 图形界面管理虚拟机
# libguestfs* : virt-cat等命令的支持软件包


# 重启宿主机,以便加载 kvm 模块
# ------------------------
reboot

# 查看KVM模块是否被正确加载
# ------------------------
lsmod | grep kvm

kvm_intel             162153  0
kvm                   525259  1 kvm_intel

开启kvm服务,并且设置其开机自动启动

systemctl start acpid.service
systemctl enable acpid.service
systemctl start libvirtd.service
systemctl enable libvirtd.service

查看状态操作结果,如Active: active (running),说明运行情况良好

systemctl status libvirtd
systemctl is-enabled libvirtd

● libvirtd.service - Virtualization daemon
   Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled)
   Active: active (running) since 二 2001-01-02 11:29:53 CST; 1h 41min ago
     Docs: man:libvirtd(8)
           http://libvirt.org

安装KVM成功后会在宿主机上自动生成一个虚拟网桥,用来虚拟机和宿主机之间的通信

下面来安装虚拟机:

 

安装前要设置环境语言为英文LANG="en_US.UTF-8",如果是中文的话某些版本可能会报错。CentOS 7 在这里修改 /etc/locale.conf

kvm创建虚拟机,特别注意.iso镜像文件一定放到/home 或者根目录重新创建目录,不然会因为权限报错,无法创建虚拟机。

注:下列两条命令都是在黑窗中进行系统配置然后安装

virt-install --virt-type=kvm --name=centos88 --vcpus=2 --memory=4096 --location=/tmp/CentOS-7-x86_64-Minimal-1511.iso --disk path=/home/vms/centos88.qcow2,size=40,format=qcow2 --network bridge=br0 --graphics none --extra-args='console=ttyS0' --force

 

virt-install --virt-type=kvm --name=centos74_2  --vcpus=2 --memory=4096 --location=/home/ISO/CentOS-7-x86_64-Minimal-1708.iso --disk path=/home/vms/centos74_2.qcow2,size=40,format=qcow2 --network bridge=br0 --graphics none --extra-args='console=ttyS0' --force

提供另一种方式:在服务器上只完成虚拟机的配置信息和镜像的引导,系统的安装通过VNC远程登录系统进行

virt-install --connect qemu:///system --name kali --memory=4096 --vcpus=2 --disk path=/home/vms/kali.qcow2,device=disk,format=qcow2,bus=virtio,cache=none,size=50 --cdrom /home/ISO/kali-linux-kde-amd64.iso --os-type=linux --network bridge=br0,model=virtio,model=e1000 --hvm --virt-type=kvm --noautoconsole --graphics vnc,listen=0.0.0.0,port=5901

安装WindowsServer2008R2(硬盘格式为ide,即bus=ide)

virt-install --connect qemu:///system --name windows --memory=4096 --vcpus=2 --disk path=/home/vms/windows.qcow2,device=disk,format=qcow2,bus=ide,cache=none,size=50 --cdrom /home/ISO/cn_windows_server_2008_r2_standard_enterprise_datacenter_web_x64_dvd_x15-50360.iso --os-type=windows --network bridge=br0,model=virtio,model=e1000 --hvm --virt-type=kvm --noautoconsole --graphics vnc,listen=0.0.0.0,port=5902  

 

KVM所在服务器显示如下:

 

通过VNC远程登录虚拟机后完成系统安装

 

命令行配置系统

 

上面创建虚拟机命令最终需要你配置系统基础设置,带 [!] 基本都是要配置的,按照顺序往下配置,按对用的数字以此进行设置。

Installation

 1) [x] Language settings                 2) [!] Timezone settings
        (English (United States))                (Timezone is not set.)
 3) [!] Installation source               4) [!] Software selection
        (Processing...)                          (Processing...)
 5) [!] Installation Destination          6) [x] Kdump
        (No disks selected)                      (Kdump is enabled)
 7) [ ] Network configuration             8) [!] Root password
        (Not connected)                          (Password is not set.)
 9) [!] User creation
        (No user will be created)
  Please make your choice from above ['q' to quit | 'b' to begin installation |
  'r' to refresh]:

一步步配置下去即可

 

连接虚拟机

通过 virsh console <虚拟机名称> 命令来连接虚拟机

# 查看虚拟机
virsh list              # 查看在运行的虚拟机
virsh list –all         # 查看所有虚拟机

 Id    Name                           State
----------------------------------------------------
 7     centos72                       running

配置虚拟机网络,编辑vi /etc/sysconfig/network-scripts/ifcfg-eth0

TYPE=Ethernet
BOOTPROTO=static
IPADDR=IP   #配置成与网桥同一网段的IP地址
PREFIX=24
GATEWAY=GateWay_IP  #配置网关地址,用来连接外网
DNS1=114.114.114.114  # 配置两个DNS服务器地址,用于域名解析
DNS2=8.8.8.8    
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eth0
UUID=adfa3b7d-bf60-47e6-8482-871dee686fb5
DEVICE=eth0
ONBOOT=yes

配置物理机网络

一般来说,服务器可能有多个网卡,选择一个网卡当做网桥来与虚拟机通信

在/etc/sysconfig/network-scripts里新增一个文件:ifcfg-br0

TYPE=Bridge
BOOTPROTO=static
NAME=br0
DEVICE=br0
GATEWAY=GateWay_IP  # 网关IP
DNS1=114.114.114
DNS2=8.8.8.8
ONBOOT=yes
IPADDR=IP  # 此处的IP其实是你宿主机上物理网卡,用来与虚拟机通信的网卡的IP
PREFIX=24

物理网卡配置:

TYPE=Ethernet
BOOTPROTO=none
NAME=eno1
DEVICE=eno1
ONBOOT=yes
BRIDGE="br0"

配置路由转发vi /etc/sysctl.conf

# Controls IP packet forwarding
net.ipv4.ip_forward = 0
修改为
# Controls IP packet forwarding
net.ipv4.ip_forward = 1    允许内置路由

Bridge模式配置

Bridge方式即虚拟网桥的网络连接方式,是客户机和子网里面的机器能够互相通信。可以使虚拟机成为网络中具有独立IP的主机。桥接网络(也叫 物理设备共享)被用作把一个物理设备复制到一台虚拟机。网桥多用作高级设置,特别是主机多个网络接口的情况。

┌─────────────────────────┐      ┌─────────────────┐
│          HOST           │      │Virtual Machine 1│
│ ┌──────┐      ┌───────┐ │      │    ┌──────┐     │
│ │ br0  │──┬───│ vnet0 │─│─ ─ ─ │    │ br0  │     │
│ └──────┘  │   └───────┘ │      │    └──────┘     │
│     │     │             │      └─────────────────┘
│     │     │   ┌───────┐ │      ┌─────────────────┐
│ ┌──────┐  └───│ vnet1 │─│─     │Virtual Machine 2│
│ │ eno0 │      └───────┘ │ │    │    ┌──────┐     │
│ └──────┘                │  ─ ─ │    │ br0  │     │
│ ┌──────┐                │      │    └──────┘     │
│ │ eno1 │                │      └─────────────────┘
│ └──────┘                │
└─────────────────────────┘

KVM一些常用命令:

克隆虚拟机:将74克隆到xiang

virt-clone -o centos74 -n cent_xiang -f /home/cent_xiang.qcow2

 

  • 列出所有的虚拟机

 

virsh list --all
  • 显示虚拟机信息
virsh dominfo kvm-1
  • 显示虚拟机内存和cpu的使用情况
yum install virt-top -y
virt-top
  • 显示虚拟机分区信息
virt-df kvm-1
  • 关闭虚拟机(shutodwn)
virsh shutdown kvm-1
  • 启动虚拟机
virsh start kvm-1
  • 设置虚拟机(kvm-1)跟随系统自启
virsh autostart kvm-1
  • 关闭虚拟及自启
virsh autostart --disable kvm-1
  • 删除虚拟机
virsh undefine kvm-1
  • 通过控制窗口登录虚拟机
virsh console kvm-1

给虚拟机添加硬盘

添加硬盘(lvm卷)或者USB到虚拟机上

virsh attach-disk kvm-1 /dev/sdb vbd --driver qemu --mode shareable
  • 使用完成之后可以卸载usb
virsh detach-disk kvm vdb

添加lvm卷,并挂载

[root@sh-kvm-1 ~]# lvcreate -n kvm-1-data -L 50G vg_shkvm1
[root@sh-kvm-1 ~]# virsh attach-disk kvm-1 /dev/vg_shkvm1/kvm-1-data vdb --driver qemu --mode shareable
Disk attached successfully
# 登录到kvm-1上查看lvm是否已经被挂载
[root@sh-kvm-1 ~]# virsh console kvm-1 # 输入kvm-1的用户和密码
[root@sh-kvm-1-1 ~]# fdisk -l # 查看硬盘挂载情况

Disk /dev/vda: 21.5 GB, 21474836480 bytes
16 heads, 63 sectors/track, 41610 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00058197

   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *           3        1018      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/vda2            1018       41611    20458496   8e  Linux LVM
Partition 2 does not end on cylinder boundary.

Disk /dev/mapper/VolGroup-lv_root: 18.8 GB, 18798870528 bytes
255 heads, 63 sectors/track, 2285 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000


Disk /dev/mapper/VolGroup-lv_swap: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000


Disk /dev/vdb: 53.7 GB, 53687091200 bytes  # 新添加的硬盘
16 heads, 63 sectors/track, 104025 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
  • 格式化新添加的vdb,并添加到lvm组中
# 对新添加的硬盘分区
[root@sh-kvm-1-1 ~]# fdisk /dev/vdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xf04b6807.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): m  # 查看帮助
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)
Command (m for help): n  #添加一个分区
Command action
   e   extended
   p   primary partition (1-4)
p  #选择添加一个扩展分区
Partition number (1-4):
Value out of range.
Partition number (1-4): 1
First cylinder (1-104025, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-104025, default 104025):
Using default value 104025

Command (m for help): t  #改变分区的格式
Selected partition 1
Hex code (type L to list codes): 8e  #改成lvm
Changed system type of partition 1 to 8e (Linux LVM)

Command (m for help): w  # 保存更改
root@sh-kvm-1-1 ~]# mkfs.ext4 /dev/vdb1  # 格式化分区
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
3276800 inodes, 13107142 blocks
655357 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
400 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
    4096000, 7962624, 11239424

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 28 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@sh-kvm-1-1 ~]# pvc reate /dev/vdb1   # 创建pv
vdb   vdb1
[root@sh-kvm-1-1 ~]# vgextend VolGroup /dev/vdb  # 扩展lvm vg
vdb   vdb1
[root@sh-kvm-1-1 ~]# vgs
  VG       #PV #LV #SN Attr   VSize  VFree
  VolGroup   2   2   0 wz--n- 69.50g 50.00g
# 从上面能看出,新添加的 已经加到lvm组中

改变虚拟机的参数

通过命令行更改创建之后虚拟机的内存,cpu等信息

  • 更改内存
# 1. 查看虚拟机当前内存
[root@sh-kvm-1 ~]# virsh dominfo kvm-1 | grep memory
Max memory:     4194304 KiB
Used memory:    4194304 KiB

# 2、动态设置内存为512MB,内存减少
virsh setmem kvm-1 524288
# 注意单位必须是KB

# 3、查看内存变化
# virsh dominfo kvm-1 | grep memory
Max memory: 14194304 KiB
Used memory: 524288 kiB

# 4、内存增加
virsh shutdown kvm-1
virsh edit kvm-1  # 直接更改memory
virsh create /etc/libvirt/demu/kvm-1/xml
# 之后操作1,2,3步骤增加内存
  • 更改CPU

需要修改配置文件,因此需要停止虚拟机

virsh shutdown kvm-1
virsh edit kvm-1
#  <vcpu>2</vcpu>  # 4 > 2
virsh create /etc/libvirt/demu/kvm-1/xml
  • 硬盘扩容
1. Create a 10-GB non-sparse file:
# dd if=/dev/zero of=/vm-images/vm1-add.img bs=1M count=10240
2. Shutdown the VM:
 # virsh shutdown vm1
3. Add an extra entry for ‘disk’ in the VM's XML file in /etc/libvirt/qemu. You can look copy & paste
the entry for your mail storage device and just change the target and address tags. For example:
 # virsh edit vm1
 <disk type='file' device='disk'>
 <driver name='qemu' type='raw' cache='none' io='threads'/>
 <source file='/vm-images/vm1.img'/>
 <target dev='vda' bus='virtio'/>
 <address type='pci' domain='0x0000' bus='0x00' slot='0x04'
function='0x0'/>
 </disk>
 Add:
 <disk type='file' device='disk'>
 <driver name='qemu' type='raw' cache='none' io='threads'/>
 <source file='/vm-images/vm1-add.img'/>
 <target dev='vdb' bus='virtio'/>
 <address type='pci' domain='0x0000' bus='0x00' slot='0x06'
function='0x0'/>
 </disk>
 # 这里建议使用上面的添加硬盘的方式添加

删除虚拟机

  • 第一步,停掉虚拟机
virsh shutdown kvm-1
  • 第二步
virsh destroy kvm-1
  • 第三步
virsh undefine kvm-1
  • 第四部
 rm /dev/vg_shkvm1/kvm-1  # 不建议删除硬盘

 

更为详细的KVM内容见:http://blog.csdn.net/github_27924183/article/details/76914322?locationNum=5&fps=1

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Centos 安装KVM并安装虚拟机 的相关文章

  • Linux 上的基准测试程序

    对于一项任务 我们需要使用不同的优化和参数来对我们的实现进行基准测试 有没有一种可行的方法可以在Linux命令行 我知道时间 上使用不同的参数对小程序进行基准测试 从而为我提供CSV或类似内容的时间数据 输出可能类似于 Implementa
  • 后台分叉无法正常工作[重复]

    这个问题在这里已经有答案了 我运行这个程序 在前景和背景中 int main int pid printf App Start pid d n getpid while 1 pid fork if pid 0 printf Child n
  • 如何从 PROC 获取有关子进程的信息

    我正在尝试编写一个以几个进程作为参数的程序 然后父进程执行每个子进程并打印出一些相关的统计信息 示例 generate ls l 将生成一个程序 打印出有关 ls l 的一些统计信息 特别是其系统时间 用户时间和上下文切换次数 我不想使用
  • Gearman,php 扩展问题:使用终端在 .. 中找不到类“GearmanWorker”,但可以在浏览器上使用

    我最近在 ubuntu 10 04 上安装了 gearman 并安装了它的 pecl 扩展 现在 当我在浏览器中运行一个 php 文件时 其中包含 client new GearmanWorker die var Dump client I
  • 让 TeXstudio 在 linux mint 中工作:找不到文件“url.sty”。

    刚刚切换到 Linux Mint 以前的顽固 Windows 用户 我在尝试安装 TeXstudio 时遇到一些问题 Sudo apt get install texstudio 给了我一个正确的安装 至少 我是这么认为的 但是当我尝试构建
  • 如何从 C 程序中获取 NIC 详细信息?

    我想要获取连接到我的计算机的所有 NIC 的以下详细信息 1 接口名称 例如eth0 2 接口编号 如Windows http answers yahoo com question index qid 20080517041705AAOmJ
  • C:如果文件描述符被删除,阻塞读取应该返回

    我正在以阻塞的方式从设备 文件描述符中读取 可能会发生这样的情况 在不同的线程中 设备被关闭并且文件描述符被删除 不幸的是 读取没有返回或注意到并且一直阻塞 作为一种解决方法 我可以使用 select 作为超时来执行 while 循环 如果
  • 配置:错误:无法运行C编译的程序

    我正在尝试使用 Debian Wheezy 操作系统在我的 Raspberry Pi 上安装不同的软件 当我运行尝试配置软件时 我尝试安装我得到此输出 checking for C compiler default output file
  • 如何使用 echo 写入非 ASCII 字符?

    如何写非ASCII http en wikipedia org wiki ASCII使用 echo 的字符 是否有转义序列 例如 012或类似的东西 我想使用以下方法将 ASCII 字符附加到文件中 echo gt gt file 如果您关
  • 这种 bash 文件名提取技术有何用途?

    我有一部分 bash 脚本正在获取不带扩展名的文件名 但我试图了解这里到底发生了什么 是做什么用的 有人可以详细说明 bash 在幕后做了什么吗 如何在一般基础上使用该技术 bin bash for src in tif do txt sr
  • 查看 Linux 上的多核或多 CPU 利用率

    我有一个在 Linux 上运行的程序 我需要确定它如何利用所有 CPU 内核 有没有什么程序可以查看这些信息 跑过 top 命令并按下 1 查看各个核心
  • 如何设置Java线程的CPU核心亲和力?

    我搜索了以前关于类似主题的帖子 但找不到合适的答案 因此提出这个问题 非常感谢您帮助回答 我知道在 Linux 中通过任务集命令设置进程与特定 CPU 核心的关联性 但我想设置 Java 线程与特定 cpu 核心的亲和力 以便属于同一进程的
  • 在 Docker 容器中以主机用户身份运行

    在我的团队中 我们在进行开发时使用 Docker 容器在本地运行我们的网站应用程序 假设我正在开发 Flask 应用程序app py具有依赖关系requirements txt 工作流程大致如下 I am robin and I am in
  • 运行此处编译的 C 程序会导致在另一台服务器上找不到 GLIBC 库错误 - 是我的错还是他们的错?

    此处编译的 C 程序在我们的 Ubuntu 服务器上运行良好 但是当其他人尝试在他们的特定 Linux 服务器上运行它时 他们会收到以下错误 myprog install lib tls libc so 6 version GLIBC 2
  • 计算 TCP 重传次数

    我想知道在LINUX中是否有一种方法可以计算一个流中发生的TCP重传的次数 无论是在客户端还是服务器端 好像netstat s解决了我的目的
  • Python将文件从Linux复制到WIndows

    我正在构建一个网站 该网站有一个表单 可以捕获用户数据并在用户数据上运行一些cgi cgi 的第一步是需要将文件从 Linux Web 服务器复制到 Windows 计算机 服务器将使用 Active Directory 角色帐户作为复制凭
  • 使用c在linux上分块读写

    我有一个 ASCII 文件 其中每一行都包含一个可变长度的记录 例如 Record 1 15 characters Record 2 200 characters Record 3 500 characters Record n X cha
  • 在 Linux 控制台中返回一行?

    我知道我可以返回该行并用以下内容覆盖其内容 r 现在我怎样才能进入上一行来改变它呢 或者有没有办法打印到控制台窗口中的特定光标位置 我的目标是使用 PHP 创建一些自刷新的多行控制台应用程序 Use ANSI 转义码 http en wik
  • 为什么docker容器提示“权限被拒绝”?

    我使用以下命令来运行 docker 容器 并从主机映射目录 root database 到容器 tmp install database docker run it name oracle install v root database t
  • 如何列出 nginx 中的所有虚拟主机

    有没有一个命令可以列出 CentOS 上 nginx 下运行的所有虚拟主机或服务器 我想将结果通过管道传输到文本文件以用于报告目的 我正在寻找与我用于 Apache 的命令类似的命令 apachectl S 2 gt 1 grep 端口 8

随机推荐

  • java实现飞机大战(简单版)

    import javafx animation AnimationTimer import javafx application Application import javafx scene Group import javafx sce
  • java压缩字符串并生成二维码

    针对特殊需求需要使用二维码传输数据 为了降低二维码的复杂度和提高数据传输量 需要先对数据进行压缩 然后生成二维码 压缩后的数据是byte 如果再转回字符串会严重影响压缩效果 因此考虑直接使用byte 生成和解析二维码 为了实现使用byte
  • 解决 “/lib64/libc.so.6: version `GLIBC_2.18‘ not found (required by /lib64/libstdc++.so.6)“

    https blog csdn net wiborgite article details 87707938
  • 基于RedHat 8.2源码编译升级Kernel 5.8.1

    1 基于RedHat 8 2源码编译升级Kernel 5 8 1 1 1 背景 只是单纯为了验证工作中遇到的一个bug 才诞生了此文 1 2 先从如下网址下载内核源码包 我这里下载的是 linux 5 8 1 tar gz 大家可根据自己需
  • 无监督深度估计、运动估计的深度学习方法(二)——SSIM损失函数

    在自监督深度估计中 一般输入2张图像 若为视频 则输入邻近的两帧图像 frame1和frame2 模型先估计相机拍摄这2张图像是的姿态变化pose 然后根据pose将frame1变换到frame2的视角下 得到合成图像synthetic f
  • 数据类型:C++中的基本数据类型

    数据类型 C 中的基本数据类型 在C 中 数据类型是用于存储不同种类数据的变量类型 C 提供了多种基本数据类型 包括字符型和数值类型 本篇博客将详细介绍C 中的基本数据类型 并提供相应的示例代码 目录 引言 字符型数据类型 2 1 char
  • Mysql数据备份-定时自动备份dump备份命令

    登录数据库服务器并打开命令行工具 如Windows系统中的cmd exe 或图形化管理工具 如phpMyAdmin Navicat等 根据数据库类型 执行相应的备份命令 例如 MySQL数据库可以使用以下命令导出备份 mysqldump u
  • 数仓分层理论

    数据仓库 在实际工作中 数仓分层 元数据管理 数据质量管理一直是一个持续优化的过程 我们公司业务也是在持续的做数仓的优化工作 在数据治理这方面还是欠缺很多的经验的 下面先简单整理了一下第一个理论部分的相关笔记 数据仓库理论 数据仓库四大特征
  • 锐捷ap设置为路由模式_路由器AP、路由、桥接模式有什么区别【详细介绍】

    现在的路由大多数已经开始支持多种网络连接模式 那么我们就挑一款模式最全的路由来了解各种模式的区别吧 下文将以TP Link迷你无线路由器为例 在TP Link迷你无线路由器上一般有AP 接入点 模式 Router 无线路由 模式 Repea
  • stm32——EXTI

    EXTI 外部中断 是stm32的众多外设之一 属于中断的一种 它最重要的就是通过检测外部引脚口的电平变化 比如说上升沿 下降沿 以及双边沿 来触发中断 让主程序放下当前的事情 去执行发生中断时应该执行的事情 设置好的函数 大概是如上所属
  • SpringBoot集成OAuth2.0的四种授权方式

    背景 OAuth 开放授权 是一个开放标准 允许用户授权第三方应用访问他们存储在另外的服务提供者上的信息 而不需要将用户名和密码提供给第三方应用或分享他们数据的所有内容 OAuth2 0 是OAuth协议的延续版本 但不向后兼容 OAuth
  • Numpy掩码数组masked arrays,这一篇就够了

    Numpy掩码数组masked arrays 这一篇就够了 1 什么是掩码数组 2 示例 2 1 一个例子走进掩码数组 2 2 创建一个数组第二个值是无效的 2 3 创建一个数组所有靠近1 e20的值是无效的 2 4 只获取有效项 2 5
  • 8647服务器装系统,机柜系统资料的.doc

    机柜系统资料的 机房冷通道 机柜系统分为节能系统 机柜 走线系统和配电系统 随着数据中心数据量的飞块速增长 数据中心的能耗量越来越高 主要由运行高功率的IT设备所致 且这些IT设备的密度还在不断提高 IT设备运行所产生大量的热 是数据中心所
  • MySql登录方法

    登录mysql u 用户名 p 用户对应密码 h 主机 socket IP地址 端口号 eg 192 168 10 113 3306 1 方法 mysql u root p密码 mysql u root p mysql hlocalhost
  • shineblink MPU6050六轴传感器测量物体姿态角

    MPU6050六轴传感器测量物体姿态角 一 姿态角 欧拉角 基本概念 二 代码实现功能描述 三 接线图 五 完整代码 六 代码运行结果 七 需要注意的地方 一 姿态角 欧拉角 基本概念 物体在空间中的姿态可以用欧拉角来定义 欧拉角包含pit
  • 数据分析——最小二乘法建立线性回归方程(最简单的一元线性模型为例)

    概述 别看公式多 其实很简单 最小二乘法其实又叫最小平方法 是一种数据拟合的优化技术 实质上是利用最小误差的平方寻求数据的最佳匹配函数 利用最小二乘法可以便捷的求得未知的数据 起到预测的作用 并且是的这些预测的数据与实际数据之间的误差平方和
  • Linux 异步 I/O 框架 io_uring:基本原理、程序示例与性能压测

    io uring是 2019 年 Linux 5 1内核首次引入的高性能异步 I O 框架 能显着加速 I O 密集型应用的性能 但如果你的应用已经在使用传统 Linux AIO 了 并且使用方式恰当 那io uring并不会带来太大的性能
  • 2023年最新Python安装详细教程

    目录 一 python官网 二 在官网的Downloads栏目 选择对应的操作系统 三 进入windows对应的页面 选择python版本 1 选择python的稳定发布版本Stable Releases 2 下载python的安装程序Wi
  • SO_RCVTIMEO超时errno

    首先打印一次recv调用失败的errno值和各个宏的值 由上可知 EAGIN和EWOULDBLOCK的值都是11 其实EAGIN是在setsockopt设置SO RCVTIMEO或SO SNDTIMEO后 recv或者send系列函数超时等
  • Centos 安装KVM并安装虚拟机

    需要注意的地方 如果修改了虚拟机XML配置 需要停止虚拟机 然后使用以下命令重新读取XML配置 virsh define etc libvirt qemu centos7 xml Linux服务器两块独立的网卡最好不要配置同一网段的IP地址