1、虚拟机软件介绍

虚拟机(Virtual Machina)软件就是一套特殊的软件,它可以作为系统独立运行,也可以运行与系统之上。

若是运行与系统之上的虚拟机软件,在一台电脑(PC或笔记本等)上安装虚拟机软件后,就可以模拟出来若干台独立的虚拟PC电脑设备,并且可以在每台虚拟的PC设备上安装运行操作系统,运行网络服务。

使用时,需要先在电脑上安装好虚拟机软件(例如:VMware Workstation),然后通过安装的虚拟机软件创建一个或多个虚拟机系统(即虚拟的电脑设备),最后在这些虚拟的电脑设备上安装操作系统并进行启动配置。最终实现在一台电脑上"同时"运行多个虚拟机设备系统。

另外,还可以将这些虚拟的系统连成局域网,用来部署网站集群架构等更深层次的运维技术。

2、安装要求

虚拟机软件的原理是利用宿主机物理硬件资源虚拟PC设备,因此对物理机硬件的要求比较高,其中最主要的是内存、硬盘和CPU资源。

首先,宿主机物理内存要足够大,最好在4GB以上,因为在创建虚拟设备时,要为每个虚拟机分配一定的内存资源(一般最小为128MB,实际学习可以设置在128~1024MB之间)和硬盘空间(默认8GB即可),ssd固态盘最好,同样也要分配CPU资源,CPU最好是I5以上,例如:每个虚拟机分配一核CPU。

3、虚拟机安装过程

3.1安装VMware Workstation虚拟机

3.2创建虚拟机

下图为安装VMware Workstation虚拟机软件打开后的虚拟机软件界面。

创建一个新的虚拟机Ctrl+n快捷键

"为虚拟机选择网络类型"极其关键,VMware虚拟机常见的网络类型有bridged(桥接)、NAT(地址转换)、host-only(仅主机)三种。

  • NAT(地址转换)

NAT(Network Address Translation),网络地址转换,NAT模式是比较简单的实现虚拟机上网的方式,NAT模式的虚拟机就是通过宿主机(物理电脑)上网和交换数据的。

在NAT模式下,虚拟机的网卡连接到宿主机的VMnet8上。此时系统的VMware NAT Service服务就充当了路由器,负责将虚拟机发到VMnet8的包进行地址转换之后发到实际的网络上,再将实际网络上返回的包进行地址转换后通过VMnet8发送给虚拟机。VMware DHCP Service负责为虚拟机分配IP地址。NAT网络类型的原理逻辑图如下图所示。

NAT网络特别适合于家庭里电脑直接连接网线的情况,办公室的局域网也适合的,优势就是不会和其他物理主机IP冲突,且在没有路由器的环境下也可以使用。推荐使用NAT模式。

  • Bridged(桥接模式)

桥接模式可以简单理解为通过物理主机网卡架设了一座桥,从而连入到了实际网络中。因此,虚拟机可以被分配与物理主机相同网段的独立IP,所有网络功能和网络中的真实机器几乎完全一样。桥接模式下的虚拟机和网内真实计算机所处的位置是一样的。

在Bridged模式下,电脑设备创建的虚拟机就像一台真正的计算机一样,它会直接连接到实际的网络上,上网与宿主机(电脑设备)没有联系。Bridged网络类型的原理逻辑图下图所示。

Bridged网络类型适合的场景:特别适合于局域网环境,优势就是虚拟机像一台真正的主机一样,缺点是可能会和其他物理主机IP冲突,并且在和宿主机交换数据时,都会经过实际的路由器。

  • Host-only(仅主机)

在Host-only模式下,虚拟机的网卡会连接到宿主的VMnet1上,但宿主系统并不为虚拟机提供任何路由服务,因此虚拟机只能和宿主机进行通信,不能连接到实际网络上,即无法上网。Host-only网络类型的原理逻辑图如下图所示。

此时硬件配置完成。

3.3安装操作系统  

CentOS6.6磁盘的分区方式有五种:

  • Use All Space:删除当前磁盘内的所有分区,包括其他系统创建的分区。
  • Replace Existing Linux System(s):删除当前磁盘内的所有Linux分区,而不删除其他系统创建的分区,这是默认的选项。
  • Shrink Current System:利用(挤压)分区上存在的所有空闲空间,创建系统默认的分区布局。
  • Use Free Space:使用未使用的分区空间。
  • Create Custom Lavout:自定义分区方式。

这里选择最后一种分区方式Create Custom Lavout,即由管理员自行定制分区,因为它更灵活。

Linux系统磁盘分区

1、磁盘在使用前一般要先分区。

2、磁盘分区有主分区、扩展分区和逻辑分区之分。一块磁盘最多可以有4个主分区,其中一个主分区的位置可以用一个扩展分区替换,在这个扩展分区内可以划分多个逻辑分区。

3、如果规划的分区数量超过4个:则分区组合为3primary+1extend或2p+1e或1p+1e。

4、一块磁盘最多只能有一个扩展分区,扩展分区不能直接使用,必须在扩展分区上划分逻辑分区,然后格式化(创建文件系统),之后才能存数据或装系统。

磁盘分区命名及编号方式

1、以设备名命名

在Linux系统中,磁盘设备一般存放在"/dev"目录中,不同的设备对应的设备名称如下:

  • 系统的第一块IDE接口的硬盘称为/dev/hda。
  • 系统的第二块IDE接口的硬盘称为/dev/hdb。
  • 系统的第一块SCSI接口的硬盘称为/dev/sda。
  • 系统的第二块SCSI接口的硬盘称为/dev/sdb。

2、使用数字编号

为了表示不同的分区,通常会用数字进行编号。

  • 系统的第一块IDE接口硬盘的第一个分区称为/dev/hda1 。
  • 系统的第一块IDE接口硬盘的第五个分区称为/dev/hda5 。
  • 系统的第二块SCSI接口硬盘的第一个分区称为/dev/sdb1 。
  • 系统的第二块SCSI接口硬盘的第五个分区称为/dev/sdb5 。

分区的编号1—4,只能给P+E,L分区的编号只能从5开始。

Linux系统对分区的基本要求

1、至少要有一个跟(/)分区,用来存放系统文件及程序。其大小至少在5GB以上。

2、要有一个swap(交换)分区,它的作用相当于Windows里的虚拟内存,swap分区的大小一般为物理内存容量的1.5倍(内存<8GB)。但当系统物理内存大于8GB时,swap分区配置8—16GB即可,太大无用,浪费磁盘空间。swap分区不是必须的,但是大多数情况还是设置比较好,个别企业的数据库应用场景不分swap。

3、/boot分区,这是Linux系统的引导分区,用于存放系统引导文件,如Linux内核等。所有文件的总大小一般只有几十MB,并且以后也不会增大太多。因此,该分区可以设置为100—200MB,这个分区也不是必须的。

界面选项说明:

1、Mount Point:挂载点,这是Linux下访问磁盘分区的入口,即如果要往分区里写入数据,就必须通过/boot入口来写入,这一点和Windows是不同的。

2、File System Type:文件系统类型,就像Windows的fat/ntfs一样,只有在设置了文件系统并格式化挂载后,分区才能存放数据。

3、文件系统类型介绍

  • ext2/ext3/ext4:适合Linux的文件系统类型。由于ext3文件系统多了日志记录功能,因此系统恢复起来会更快速,ext4是ext3的升级,效率更加高,因此建议使用默认的ext4类型,而不要使用ext2/ext3 。
  • physical volume(LVM):这是一种弹性调整文件系统大小的机制,即可以让文件系统变大或变小,而不改变原有文件数据的内容,功能不错,但性能不佳。
  • software RAID:利用Linux系统的特性,用软件仿真出磁盘阵列的功能。
  • swap:内存交换空间。由于swap并不会使用到目录树的挂载,因此用swap就不需要指定挂载点。
  • vfat:同时被Linux与Windows所支持的文件系统类型。如果主机硬盘同时存在Windows与Linux两种操作系统,为了进行数据交换,可以利用该文件系统。
  • xfs:也是一个文件系统的类型,在CentOS7中将被作为默认的文件系统类型而替换ext4 。

4、Force to be primary partition:强制主分区,是可选项。由于所有的分区未过4个,因此可勾选该项。

选择安装包时应该采用最小化原则,即不需要的或不确定是否需要的就不安装,这样就可以最大程度上确保系统安全。

如果安装过程落下部分包组,或者是其他伙伴安装时没有选,在安装后可以按如下方式补上安装时未安装的包组。

  1. yum groupinstall "Compatibility libraries" "Base" "Development tools"
  2. yum groupinstall "debugging Tools" "Dial-up Networking Support"

    可以通过yum groupinfo包组查看具体安装的组件。

    查看组件安装情况:yum grouplist。

    注意:不要使用yum的删除功能删除软件,会删除相关依赖,导致意外问题。

如何区分已安装的系统是32位还是64位?

方法一,标准的查看方法。命令及输出如下:

  1. [root@www ~]# uname -m
  2. x86_64

    上述输出结果中带有x86_64字样,说明该系统为64位。

  3. [oldboy@web-001 ~]$ uname -a
  4. Linux drbd2 2.6.18-164.e15 #1 SMP Thu Sep 3 03:33:65 EDT 2009 i686 i686 i386 GNU/Linux

    上述输出结果中带有i386/i686字样,说明该系统为32位。

  5. [root@www ~]# uname -r
  6. 2.6.32-504.el6.x86_64

各个数字和字母代表的含义:

2表示主版本号,有结构性变换才更改;

6表示次版本号,新增功能时才变化,一般奇数表示测试版,偶数表示开发版;

32表示对此版本的修订次数或补丁包数;

504代表编译的次数,每次编译可对少数程序优化或修改;

el6用来表示版本的特殊信息,有较大的随意性;

el代表企业版Linux;pp代表测试版;fc代表fedora core;rc代表候选版本;

x86_64表示64位。

"[root@oldboy66 ~]#"里的#号为超级管理员root输入命令的提示符,在#号后面可以输入命令进行管理系统。

配置网卡setup:

以上操作相当于修改/etc/sysconfig/network-scripts/ifcfg-eth0。

注意:需要将ONBOOT=no改为ONBOOT=yes,否则系统不会自动启动该网卡。

vi /etc/sysconfig/network-scripts/ifcfg-eth0

vi是编辑命令,输入命令后,按i编辑修改,保存命令":wq"。

重启网卡生效:ifup eth0或者/etc/init.d/network restart。

如果setup显示乱码,是字符集问题,输入命令LANG=en进行调整即可。

查看Linux网卡信息:ifconfig。

检查网络是否通畅:ping 192.168.131.128 -t 。

搭建Linux运行环境-虚拟机的更多相关文章

  1. 【PHP】linux搭建PHP运行环境

    之前在windows下写了hello world,终归是不够用啊,因为开发环境是Linux,怎么办呢~~~学习学习再学习 写在前面的话:我从百度文库的一个文章里摘出来的,原文章名称<Linux下 ...

  2. 【netcore基础】CentOS 7.6.1810 搭建.net core 2.1 linux 运行环境 nginx反向代理 supervisor配置自启动

    之前写过一篇Ubuntu的环境搭建博客,感觉一些配置大同小异,这里重点记录下 nginx 作为静态 angular 项目文件服务器的配置 参考链接 [netcore基础]ubuntu 16.04 搭建 ...

  3. Windows7下搭建Django运行环境

    一直都是在Linux环境下搭建django的运行环境,开学因为需要叫前端的同学帮忙修改模板,所以需要在Windows下搭建起运行环境,想来PHP倒是有不少集成开发环境,Python倒是少的可怜…只在w ...

  4. Centos7安装Docker 基于Dockerfile 搭建httpd运行环境

    Centos7安装Docker 基于Dockerfile 搭建httpd运行环境 docker docker搭建 docker build 本文档完成目标内容如下 使用Docker搭建http服务器一 ...

  5. JDK+Tomcat搭建JSP运行环境--JSP基础

    一.搭建JSP运行环境之前需要了解的基本知识 配置JSP运行环境之前,我们需要了解JSP的运行机制.只有了解JSP运行机制后,我们才能知道为什么要搭建JSP运行环境?如何去搭建JSP运行环境?为什么要 ...

  6. 云端搭建Linux学习环境 链接https://edu.aliyun.com/article/19 (阿里云ECS服务器 )课堂

    云端搭建Linux学习环境 链接https://edu.aliyun.com/article/19 1. 开通云服务器 2 1.包年包月   按量付费(适合测试数据的时候) 2 2.地域   服务器数 ...

  7. 【MIT6.828】centos7下使用Qemu搭建xv6运行环境

    title:[MIT6.828]centos7下使用Qemu搭建xv6运行环境 date: "2020-05-05" [MIT6.828]centos7下搭建xv6运行环境 1. ...

  8. 9款一键快速搭建PHP运行环境的好工具

    9款一键快速搭建PHP运行环境的好工具 胡倡萌 2011/02/19 网络资源 77,063 1     内容提要: 建立一个PHP网站,首先需要搭建PHP的开发和运行环境,对于PHP初学者也是一个难 ...

  9. 漫游Kafka实战篇之搭建Kafka运行环境

    接下来一步一步搭建Kafka运行环境. Step 1: 下载Kafka 点击下载最新的版本并解压. > tar -xzf kafka_2.9.2-0.8.1.1.tgz > cd kafk ...

随机推荐

  1. [转帖]rsync简介

    rsync用法详细解释 https://www.cnblogs.com/noxy/p/8986164.html 之前一直使用 scp 现在发现这个命令更好一些. 提要 熟悉 rsync 的功能及其特点 ...

  2. DAY19、日常模块

    一.hashlib模块:加密1.基本使用:import hashlibcipher = hashlib.md5('需要加密的数据(二进制形式)'.encode('utf-8'))print(ciphe ...

  3. PHP7中的数据类型

    PHP中变量名→zval,变量值→zend_value.其变量内存是通过引用计数管理的,在PHP7中引用计数在value结构中. 变量类型: 头文件在PHP源码 /zend/zend_types.h ...

  4. Python 学习笔记 - 不断更新!

    Python 学习笔记 太久不写python,已经忘记以前学习的时候遇到了那些坑坑洼洼的地方了,开个帖子来记录一下,以供日后查阅. 摘要:一些报错:为啥Python没有自增 ++ 和自减 --: 0x ...

  5. Luogu4494 [HAOI2018]反色游戏 【割顶】

    首先发现对于一个联通块有奇数个黑点,那么总体来说答案无解.这个很容易想,因为对每个边进行操作会同时改变两个点的颜色,异或值不变. 然后一个朴素的想法是写出异或方程进行高斯消元. 可以发现高斯消元的过程 ...

  6. Spring框架的@Valid注解

    上一篇文章介绍了springmvc的get请求参数可以是一个自定的对象.那么如何限制这个对象里的参数是否必传呢? 方法一:在代码逻辑里取出对象里的这个值,手动进行判断 方法二:使用@Valid注解,在 ...

  7. 反射与jvm

  8. php5.4、5.5、5.6高版本中htmlspecialchars兼容性处理

    在使用php5.4以上版本以上时会有一个函数可能会报错 如下 Warning: htmlspecialchars(): charset `gbk' not supported, assuming ut ...

  9. Harbor删除镜像后且GC清理后,磁盘空间没有释放的问题

    1.原因 Harbor删除镜像后且GC清理后,磁盘空间没有释放.因为我们push大量相同标签的镜像,Docker 镜像由标签引用,并由唯一的摘要标识.这意味着如果myImage使用标记推送两个图像,在 ...

  10. mysql删除多个重复数据,多个字段添加唯一性索引

    需求:删除station_id.ab_data_time.item_code_id.data_cycle.ab_value 字段重复的记录 #查询重复的数据 select b.id,b.station ...