1.虚拟机的安装
centos各个版本的官网镜像下载地址
https://www.centos.org/download/mirrors/
2. 虚拟机网络
连接模式 | 作用 | 区别 |
桥接模式 | 和无线网络或本地连接一样,使用真实网卡连接通信 | 可以和宿主机通信,可以连接局域网和其他主机通信,可以连接公网 |
NAT模式 | 和宿主机的VMnet8网卡连接通信 | 可以和宿主机通信,不能连接局域网和其他主机通信,可以连接公网 |
仅主机模式 | 和宿主机的VMnet1网卡连接通信 | 可以和宿主机通信,不能连接局域网和其他主机通信,不能连接公网 |
自动以:特定虚拟网络 | ||
LAN区段 |
桥接问题:宿主机有两个真实网卡,有线网卡(网线)和无线网卡(wifi),桥接模式下,既然要桥接到真实网卡,那么就需要选择桥接到无线还是有限网卡。
NAT和仅主机 TODO
3. 系统分区和格式化
win下的分区
分区是为了存储和使用数据更加方便高效,这里的分区是逻辑分区,不是把硬盘真的用斧头拆成4份,分完物理层面上其实还是一块硬盘,逻辑层面上可以为3块甚至更多。
到底一个硬盘能够分为几个区,这个是有分区表决定的,就看你使用的是哪个分区表了。
分区表名称 | 分区表特点 | 说面 |
MBR分区表 | 最大支持2.1TB硬盘,最多支持4个分区。 | MBR:主引导记录分区表,绝大多数电脑都是用这种分区表 |
GPT分区表 | 支持9.4ZB硬盘,理论上分区数没有限制,win上限制128个分区 | GPT:全局唯一标示分区表 |
MBR分区类型
分区名称 | 分区特点 |
主分区 |
最多只能有4个。 主分区也可成为“引导分区”,会被操作系统和主板认定为这个硬盘的第一个分区。所以C盘永远都是排在所有磁盘分区的第一的位置上。 |
扩展分区 | 最多只能有1个(每块硬盘),主分区+扩展分区最多只能有4个,扩展分区不能写入数据,也不能格式化,只能包含逻辑分区 但扩展分区是不能直接用的,他是以逻辑分区的方式来使用的。 |
逻辑分区 | 逻辑驱动器没有独立的引导块,不能用fdisk设定为启动区。主分区和扩展分区都是dos分区 |
这样做的目的是为了套娃,主分区分了3个,拓展分区1个,拓展分区里面在分逻辑分区,A, B, C, D,感觉是不变成了8个分区。一般电脑安装都是一个主分区C盘,放系统,一个扩展分区,然后在扩展分区里面分三个逻辑分区,D盘,E盘,F盘
有了分区后,就可以往里面写入数据吗?
不能,因为还要格式化,又称逻辑格式化,指根据用户选定的文件系统,FAT16, FAT32, NTFS(win), EXT2, EXT3, EXT4(linux的REDHAT6), 在磁盘的特定分区写入特定数据,在分区内划分一片用于存放文件分配表、目录表等用于文件管理的磁盘空间,格式化的目的就是为了写入文件系统。
那么操作系统怎么给柜子打隔断呢?格式化
格式化针对的是分区,假设以逻辑分区为例。
首先将柜子分为两个部分
A小B大,然后将B在分成等大小的块,称为Block,用于存放数据,每个Block默认占据空间4kb,假设B部分有40G,那么就分为10485750个Block。假设先在有10kb的数据要存入B部分,1个放不下,需要放3个,最后一个Block有2kb空间空余,但是也不能存放其他数据,因为Block是存储数据的最小单位,无法分隔,上面空余的2kb,就只能空余了,有时候数据再内存的占据大小其实是要比实际大小大一点的,原因就是这个。Block的另个特点就是不连续,存放10kb的三个Block可能不是连续挨着的。
现在问题来了,10485750个Block要怎么查找才能高效呢?其实在A里面就存放了索引表,表里存放Block的位置,每个文件都有单独的索引表,Inode表,128B,Inode表假设存放如下数据。
文件ID | 文件名 | 文件Time | 文件权限 | 文件存放位置 |
1 | 2020-11-11 | 可访问 | 每个Block的位置 | |
2 | vmware | 2020-11-11 | 不可访问 | 每个Block的位置 |
查找qq,先看权限,然后找文件存放位置,然后读取Block内容。
linux下,怎么找到分区呢?通过查找设备文件名。
ubuntu16.04
root@ubuntu:/dev# ls agpgart dmmidi lightnvm memory_bandwidth rtc0 tty0 tty22 tty36 tty5 tty63 ttyS18 ttyS31 vcs3 vhci autofs dri log midi sda tty1 tty23 tty37 tty50 tty7 ttyS19 ttyS4 vcs4 vhost-net block dvd loop0 mqueue sda1 tty10 tty24 tty38 tty51 tty8 ttyS2 ttyS5 vcs5 vhost-vsock bsg ecryptfs loop1 net sda2 tty11 tty25 tty39 tty52 tty9 ttyS20 ttyS6 vcs6 video0 btrfs-control fb0 loop2 network_latency sda5 tty12 tty26 tty4 tty53 ttyprintk ttyS21 ttyS7 vcs7 vmci bus fd loop3 network_throughput sg0 tty13 tty27 tty40 tty54 ttyS0 ttyS22 ttyS8 vcsa vsock cdrom full loop4 null sg1 tty14 tty28 tty41 tty55 ttyS1 ttyS23 ttyS9 vcsa1 zero cdrw fuse loop5 port shm tty15 tty29 tty42 tty56 ttyS10 ttyS24 uhid vcsa2 char hidraw0 loop6 ppp snapshot tty16 tty3 tty43 tty57 ttyS11 ttyS25 uinput vcsa3 console hpet loop7 psaux snd tty17 tty30 tty44 tty58 ttyS12 ttyS26 urandom vcsa4 core hugepages loop-control ptmx sr0 tty18 tty31 tty45 tty59 ttyS13 ttyS27 userio vcsa5 cpu hwrng mapper pts stderr tty19 tty32 tty46 tty6 ttyS14 ttyS28 v4l vcsa6 cpu_dma_latency initctl mcelog random stdin tty2 tty33 tty47 tty60 ttyS15 ttyS29 vcs vcsa7 cuse input media0 rfkill stdout tty20 tty34 tty48 tty61 ttyS16 ttyS3 vcs1 vfio disk kmsg mem rtc tty tty21 tty35 tty49 tty62 ttyS17 ttyS30 vcs2 vga_arbiter
4. 挂载点
已经存在的空目录作为挂载点。
swap分区
swap分区在系统的物理内存不够用的时候,把硬盘内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。