文章目录
存储基础
存储的概念:
狭义上的存储: u盘 硬盘 软盘 光盘(cd\dvd) 磁带库 。。。
广义上的存储: 硬盘的分类: 机械硬盘HDD 固态硬盘SSD
机械硬盘特点:
-
优点:容量大、价格低
-
缺点:有噪音、功耗大、怕震动
使用场景:监控项目,冷数据存放
常见的接口类型:SATA、SAS、NL-SAS、SSD
个人电脑硬盘接口:SATA 服务器
电脑硬盘接口:SAS 固态硬盘
特点: 优点:无噪音、功耗小、不怕震动
缺点:价格高 硬盘的关键指标: • 硬盘容量 • 转速 • 平均访问时间 • 数据传输率(带宽) • IOPS(每秒输入输出次数)
需要存放大文件的时候,对带宽要求比较大
需要存放小文件的时候,对IOPS要求比较大
SATA SSD 和 SATA HDD比较
IOPS 200倍 带宽 3倍
存放录像大文件 --机械硬盘
服务器存放日志的---固态
三种存储组网
1.DAS 直连附加存储
2.NAS 网络附加存储
当客户端是linux、unix的时候使用NFS协议 当客户端是windows的时候使用CIFS协议
3.SAN 存储区域网络
SAN存储又分为IP SAN、FC SAN
集中式存储
集中式存储牌子: HP 华为 oceanstor EMC
Vmware workstation网络详解
仅主机(vmnet1)
桥接(vmnet0)
NAT(vmnet8)
- 仅主机模式 (vmnet1)
虚拟机之间通信: ✅ 可以
所有使用仅主机模式的虚拟机都连接在同一个虚拟网络(vmnet1)上,它们之间可以相互通信。
笔记本与虚拟机通信: ✅ 可以(但有限制)
仅限主机: 物理机(笔记本)与虚拟机之间可以通信,因为物理机上安装了 VMware 的虚拟网卡(通常是 VMware Network Adapter VMnet1),它就像一根网线连接了物理机和这个虚拟交换机。
缺点: 物理机是唯一能访问这些虚拟机的外部设备。
虚拟机能不能上外网: ❌ 不能
仅主机模式没有提供 NAT 设备或路由转发功能,虚拟机组成了一个封闭的局域网,无法访问物理机以外的网络(如互联网)。
- 桥接模式 (vmnet0)
虚拟机之间通信: ✅ 可以
只要它们都使用桥接模式,且连接到同一个物理网络(交换机),它们就可以通信。
笔记本与虚拟机通信: ✅ 可以
在桥接模式下,虚拟机直接连接到物理网络。在物理路由器看来,虚拟机和笔记本是两台独立的设备(拥有同网段的不同 IP)。因此笔记本可以通过 IP 直接访问虚拟机,反之亦然。
虚拟机能不能上外网: ✅ 可以
如果物理网络本身可以上网(笔记本能连上互联网),那么桥接模式下的虚拟机也可以上网。它完全依赖物理路由器分配 IP 和提供网关。
- NAT 模式 (vmnet8)
虚拟机之间通信: ✅ 可以
所有使用 NAT 模式的虚拟机都连接在 vmnet8 虚拟交换机上,它们之间可以互通。
笔记本与虚拟机通信: ✅ 可以
物理机通过 VMware Network Adapter VMnet8 这张虚拟网卡与虚拟机进行通信。
虚拟机能不能上外网: ✅ 可以
这是 NAT 模式的核心功能。 即使物理笔记本只有一块网卡或者只能连接到一个网络,VMware 会在后台进行网络地址转换(NAT),将虚拟机的请求通过物理机的 IP 发送出去。虚拟机可以访问互联网,但外部网络无法主动访问虚拟机(除非做端口转发)。
虚拟化技术
虚拟化四个特点
- 分区:在同一物理平台上运行多个虚拟机。
- 隔离:虚拟机之间互不影响,故障隔离。
- 封装:整个虚拟机(包括OS、应用)以文件形式存在。
- 硬件无关:虚拟机不依赖具体物理硬件,便于迁移。
虚拟化分类:
计算虚拟化 解除了物理硬件和操作系统之间的紧耦合关系
存储虚拟化
网络虚拟化:vlan
开源虚拟化: Kvm Xen Qemu
商业虚拟化: Vmware workstation Vmware esxi 华为fusioncompute
1型和2型虚拟化
1型虚拟化(裸金属虚拟化) Esxi Kvm 华为fusioncompute
2型虚拟化(宿主型虚拟化) Vmware workstation
1型虚拟化性能更强,开发难度大,用在数据中心服务器上
2型虚拟化用在学习环境
虚拟化分类
全虚拟化
半虚拟化
硬件辅助虚拟化
- 关键技术:intel(vt-x),amd (amd-v)
最热门的:
KVM (开源)
Vmware ESXI
Fusioncompute
KVM
KVM只能安装在linux上,KVM本质是Linux内核中的虚拟化功能模块kvm.ko,利用Linux做大量的事,如任务调度、内存管理与硬件设备交互等
intel芯片,AMD芯片---X86架构 (复杂指令集)
高通芯片,麒麟芯片 ---ARM架构(精简指令集)
X86架构: 单核性能强,功耗大,散热大
ARM架构: 单核性能弱,更容易实现多核,功耗小,散热小
为啥叫X86? 早期intel芯片命名有关 该系列较早期的处理器名称是以数字来表示,并以"86"作为结尾,包 括 Intel 8086、80186、80286、80386 以及 80486,因此其架构被称为"x86"。
xen:安全性高
kvm:性能更高
KVM主要负责CPU、内存虚拟化
QEMU主要负责IO虚拟化 磁盘、摄像头、打印机、扫描机,键盘、鼠标(IO设备) Input output输入输出设备 QEMU
Qemu-kvm
虚拟化平台管理工具 - Libvirt
libvirt不是kvm组件,也是一个开源工具是用来管理kvm,xen众多虚拟化软件的
libvirt: The virtualization API
Virsh: 命令行
Virt-manager: 图形化工具
Virt-viwer: 看虚拟机
Virt-install: 创建虚拟机
Other tools:网络工具。。。
ubuntu安装kvm
bash
$ sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager -y
• 在libvirt中涉及几个重要的概念, 解释如下:
• 节点(Node) 是一个物理机器, 上面可能运行着多个虚拟客户机。 Hypervisor和Domain都运行在节点上。 ·Hypervisor也称虚拟机监控器(VMM) , 如KVM、 Xen、 VMware、 Hyper-V等, 是虚拟化中的一个底层软 件层, 它可以虚拟化一个节点让其运行多个虚拟客户机(不同客户机可能有不同的配置和操作系统)。
• 域(Domain) 是在Hypervisor上运行的一个客户机操作系统实例。 域也被称为实例(instance, 如在亚马逊的 AWS云计算服务中客户机就被称为实例) 、 客户机操作系统(guest OS) 、 虚拟机(virtual machine) , 它们都是指同一个概念。 Host os Guset os vmware的配置文件 .vmx vmware的磁盘文件 .vmdk kvm的磁盘文件格式 .qcow2
kvm安装
1.系统自带
2.yum
KVM命令行使用
bash
[root@KVM1 ~]# virsh version #查看KVM版本
Compiled against library: libvirt 8.0.0
Using library: libvirt 8.0.0
Using API: QEMU 8.0.0
Running hypervisor: QEMU 6.2.0
[root@KVM1 ~]# virsh --help #virsh命令帮助
[root@KVM1 ~]# virsh shutdown win7 #关机
Domain 'win7' is being shutdown
右击host os KVM1 关闭客户机
[root@KVM1 ~]# virsh list #列出正在运行中的虚拟机
Id Name State
--------------------
[root@KVM1 ~]# virt-manager #调出图形界面
[root@KVM1 ~]# virsh list --all #列出所有状态的虚拟机
Id Name State
-----------------------
- win7 shut off
[root@KVM1 ~]# virsh start win7 #开启虚拟机win7
Domain 'win7' started
[root@KVM1 ~]# virsh list #查看虚拟机win7的开机状态
Id Name State
----------------------
1 win7 running #后续操作该虚拟机可以用Name"win7"操作,也可以
用该虚拟机的ID"1"操作
[root@KVM1 ~]# virsh reboot win7 #重启虚拟机win7
Domain 'win7' is being rebooted
[root@KVM1 ~]# virsh shutdown win7 #正常关机,一般都是正常关机
Domain 'win7' is being shutdown
[root@KVM1 ~]# virsh start win7 #开启虚拟机win7
Domain 'win7' started
[root@KVM1 ~]# virsh destroy win7 #强制关闭虚拟机(拔电源),系统无法响应,实在没
办法再强制关机
Domain 'win7' destroyed
[root@KVM1 ~]# virsh start win7 #开启虚拟机win7
Domain 'win7' started
[root@KVM1 ~]# virsh suspend win7 #挂起虚拟机,将虚拟机的内存数据保存到硬盘,然
后CPU、内存释放,比如我去吃个午饭
Domain 'win7' suspended
[root@KVM1 ~]# virsh list #查看虚拟机状态
Id Name State
---------------------
2 win7 paused #显示虚拟机状态为paused挂起
[root@KVM1 ~]# virsh resume win7 #恢复虚拟机状态
Domain 'win7' resumed
[root@KVM1 ~]# virsh list #查看虚拟机状态
Id Name State
----------------------
2 win7 running #显示虚拟机状态为running
-
Host OS = 宿主机操作系统
电脑直接装在硬件上的那个系统。
-
Guest OS = 客户机操作系统
是在虚拟机里面跑的系统。