一、VMware虚拟机安装与使用
二、系统分区
四、远程登录管理工具
VMware是一个虚拟PC的软件,可以在现有的操作系统上虚拟出一个新的硬件环境,相当于模拟出一台新的PC ,以此来实现在一台机器上真正同时运行两个独立的操作系统。
VMware官方网站:http://www.vmware.com
VMware主要特点∶
根据软件包一步一步傻瓜式安装即可
VM虚拟化功能打开:
1.去BIOS里修改设置开启虚拟化设备支持(F2,F10)
2.安装虚拟机软件(VM16)
用安装好的VMware的自动安装来安装CentOS。
CentOS 6 安装最小内存:628 MB
VMware Workstation 虚拟化引擎
熟练使用虚拟机的快照功能,类似于游戏中的存档功能。
数量使用虚拟机的克隆功能,可以完全的复制虚拟机的配置。
连接方式 | 连接网卡 | 是否能连接本机 | 是否能连接局域网 | 是否能连接公网 |
---|---|---|---|---|
桥接方式 | 本地 | 可以 | 可以 | 可以 |
NAT模式 | VMnet8 | 可以 | 不能 | 可以 |
仅主机 | VMnet1 | 可以 | 不能 | 不能 |
桥接方式是自动连接本机的真实物理网卡(有限网卡,无线网卡),需要根据本机的通信是通过有线和无线来选择VMware Workstation 中的桥接方式。
主分区:最多只能有4个。
扩展分区:
逻辑分区:
格式化(高级格式化)又称逻辑格式化,它是指根据用户选定的文件系统(如FAT16[U盘的默认文件系统]、FAT32[U盘的文件系统]、NTFS[Windows主流文件系统]、EXT2、EXT3、EXT4[CentOS6之前主流文件系统]、XFS[CentOS7之后主流文件系统]等),在磁盘的特定区域写入特定数据,在分区中划出一片用于存放文件分配表、目录表等用于文件管理的磁盘空间。
格式化绝对不是为了清空数据,格式化的目的是为了写入文件系统。
越先进的文件系统,支持越大的单个文件,并且读写速度越快,安全性越好,性能越好。
格式化的目的是为了写入文件系统。
(1)、把整个分区进行格式化,分区被分为两个部分:一部分用来存储数据(空间较大),一部分用于存储Inode索引等元数据信息(空间较小)。
(2)、在存储数据的部分,会被分为等大小的Block(数据块):在Linux系统中默认是 4KB(数据块的大小可以使用1KB,2KB,4KB)。数据存储就是往 Block 存储。Block 是存储数据的最小单位。
当文件大小大于4KB时,系统会尽量分配连续的Block进行存储(读写速度更快)。当然也会出现Block不连续的情况,数据被分配到不同的 Block 进行存储,在 Windows 中需要使用磁盘碎片整理的工具,将不连续分散存储的数据块Block拼接在一块(加速读写速度)。当出现 10KB 的文件,在Block存储中,需要3块Block 进行分配,但是有一Block会出现多出2KB的空间,这2KB空间是无法进行使用的。
【扩展:MySQL 数据页的大小是 16KB】
(3)、在存储元数据信息中,Inode( I节点 ),默认大小是 128B(字节),其中存储的内容是:Inode 的编号,文件的时间(访问时间,修改时间,改变时间),文件的权限,文件存储的位置(Block 块)。Inode 也会有空间大小限制,也会出现 Inode 空间占满的情况,例如无限制的生成大量的空文件。
扩展:
df -Th 查看分区的空间 Size 利用率大小
df -Thi 查看分区节点号 Inode 的利用率大小
小总结:
格式化会覆盖把硬盘数据清空,格式化绝不是为了清空数据,而是主要为了写入文件系统。
硬件 | 设备文件名 |
---|---|
IDE硬盘 | /dev/hd[a-d] |
SCSI/SATA/USB硬盘 | /dev/sd[a-p] |
光驱 | /dev/cdrom 或者 /dev/sr0 |
软盘 | /dev/fd[0-1] |
打印机(25针) | /dev/lp[0-2] |
打印机(USB) | /dev/usb/lp[0-15] |
鼠标 | /dev/mouse |
设备文件名
IDE 接口类型
挂载点:使用已经存在的空目录作为挂载点,所有的空目录,包括新建目录都可以作为挂载点,但是 /bin,/lib,/etc等不能单独挂载。
虽然Windows 是使用A,B,C,D等字母作为盘符(Windows 用完26个字母也是用目录作为挂载),而Linux 是使用目录作为挂载点,但是他们的作用基本一样。Windows 盘符作用:进入该分区的标记或者是入口。Linux 挂载点也是类似作用。
挂载:将Linux设备文件名和挂载点连起来的过程称为挂载(动作)
必须分区
推荐分区
常用分区
从Linux操作系统上看,根分区是最高目录,底下的目录都是根目录的子目录,例如/boot,/etc,/home。
但是从Disk 硬盘上看,如果给/boot,/home单独分区,他们就会有各自的存储空间。即如果单独给 /home 目录写入数据,那么只会写在 /home 目录的存储空间。
打开虚拟化功能
在很多家用台式机和笔记本电脑上,虚拟化功能默认是关闭的,再要打开才能使用VMware等虚拟化软件,进入到对应的主板BIOS开启虚拟化功能。根据主板和处理器型号进行搜索解决。
Intel:Intel Virtualization Technology 虚拟化功能打开
AMD:SVM Mode 虚拟化功能打开
下载地址:https://www.centos.org/download/
CentOS-Stream:不再是标准版本,而是会不断的更新迭代的Linux发行版。CentOS 会变成 fedora。CentOS 可能会在系统性能和稳定性上比较差。
CentOS 创始人 在GitHub 上创建新的项目:RockyLinux。
下载地址:https://rockylinux.org/download
Windows 需要使用 VMware Workstation
官网下载:https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html
VMware Workstation Pro 网络类型:
根据 VMware Workstation Pro 向导创建虚拟机即可。
加入虚拟机安装操作系统,根据系统的配置要求进行安装。完成CentOS 7的安装了。
打开VMware Workstation后创建虚拟机,根据安装虚拟机向导进行配置虚拟机安装
根据操作系统的ISO镜像进行安装,安装配置根据向导进行安装。
主机名:建议修改主机名,但是在初学时,暂时不用修改主机名
密码三原则:
复杂性:
易记忆性:可以使用古诗文
时效性:180天
服务器的安装操作系统:一般选择 Minimal 最小化安装(大概300个包),Basic Server 最基本安装(大概700个包)。
当提示类似于中文翻译过来后"当前计算机显卡不识别Linux 的图形界面,导致图形安装失败"
# setup 是Redhat系列配置网络,防火墙,认证,系统服务
[root@Centos6Server ~]# setup
# 通过setup工具设置IP地址,注意激活 ONBOOT=yes
[root@Centos6Server ~]# service network restart
# 重启网络服务
# 如果配置完成没有用可以退出去看一下网卡MAC地址是不是和本机的冲突,重新生成一个新的MAC地址
连接方式 | 连接网卡 | 是否能连接本机 | 是否能连接局域网 | 是否能连接公网 |
---|---|---|---|---|
桥接方式 | 本地 | 可以 | 可以 | 可以 |
NAT模式 | VMnet8 | 可以 | 不能 | 可以 |
仅主机 | VMnet1 | 可以 | 不能 | 不能 |
Linux是严格区分大小写的,这一点和Windows不一样,所以操作时要注意区分大小写的不同,包括文件名和目录名、命令、命令选项、配置文件设置选项箸。
Linux中所有内容都是以文件的形式保存和管理的,硬件设备也是文件,这和Windows完全不同,Windows是通过设备管理器来管理硬件的。Linux 的设备文件保存在/dev/目录中,硬盘文件是/dev/sd[a-p],光盘文件是/dev/hdc等。当配置写入到配置文件中时,那么就是永久生效。若没有写入对应的配置文件,那么则是临时生效。
Windows是依赖扩展名区分文件类型的,比如:“.txt”是文本文件、“.exe”是执行文件、“.ini”是配置文件、“.mp4”是小电影等。但 Linux不是靠扩展名区分文件类型的,而是靠权限位标识来确定文件类型的,而且文件类型的种类也不像Windows下那么多,Linux常见的文件类型只有普通文件、目录、链接文件、块设备文件、字符设备文件等几种。Linux 的可执行文件不过就是普通文件被赋予了可执行权限而已。
但Linux中的一些特殊文件还是要求写“扩展名”的,但是大家小心,并不是Linux一定要靠扩展名来识别文件类型,写这些扩展名是为了帮助管理员来区分不同的文件类型。这样的文件扩展名主要有以下几种。
Linux 的扩展名虽然Linux并不强制要求,都是尽量延续Windows的类似的使用习惯。
Linux中所有的存储设备都有自己的设备文件名,这些设备文件必须在挂载之后才能使用,包括硬盘、u盘和光盘。挂载其实就是给这些存储设备分配盘符,只不过Windows 中的盘符用英文字母表示,而Linux中的盘符则是一个已经建立的空目录。我们把这些空目录叫作挂载点(可以理解为Windows的盘符),把设备文件(如/dev/sdb)和挂载点(已经建立的空目录〉连接的过程叫作挂载。
Windows 下的所有存储设备也是需要挂载的,只不过Windows 不能通过空目录来作为挂载点,而是使用英文字母作为盘符。
Linux 当中的硬盘是全自动挂载的,开机之后自动挂载;而U盘和光盘移动存储设备是需要手动挂载。在 Windows 下硬盘,U盘,光盘都是全自动挂载。
Windows 下U盘的弹出操作不能直接拔出U盘,而是需要系统中点击"弹出U盘"的操作,否则会出现数据丢失的情况。
Linux 下尽量不要使用移动设备全自动挂载,开机挂载。原因Linux是无条件信任管理员,如果开机一定要挂载移动设备,那么在机器上久一定要有移动设备,不然会导致系统开机时崩溃。
Linux和Windows是不同的操作系统,可以安装和使用的软件也是不同的,所以能够在Windows中安装的软件是不能在 Linux中安装的。有好处吗?当然有,那就是能够感染windows 的病毒和木马都对Linux无效。有坏处吗?也有,那就是所有的软件要想在Linux 中安装,必须单独开发针对Linux的版本,或者依赖模拟器软件运行。
Windows 下的程序 .exe、.smi 放在Linux 下是无法使用的。Windows 下的病毒程序是无法对 Linux 系统造成影响。除非病毒程序对其进行开发针对 Linux。
所有的软件都需要对 Linux 进行单独开发。在个人用户下的软件是不太多的,但是在服务器软件来看,是种类繁多,性能优秀等。
很多软件也会同时推出针对Windows 和 Linux的版本,如大家熟悉的即时通信软件QQ。
目录名 | 目录的作用 |
---|---|
/bin/ | 存放系统命令的目录,普通用户和超级用户都可以执行,是/usr/bin/目录的软链接 |
/sbin/ | 存放系统命令的目录,只有超级用户才可以执行,是/usr/sbin/目录的软链接 |
/usr/bin/ | 存放系统命令的目录,普通用户和超级用户都可以执行 |
/usr/sbin/ | 存放系统命令的目录,只有超级用户才可以执行 |
/boot/ | 系统启动目录,保存与系统启动相关的文件,如内核文件和启动引导程序(grub)文件等 |
/dev/ | 设备文件保存位置 |
/etc/ | 配置文件保存位置。系统内所有采用默认安装方式(rpm安装)的服务配置文件全部保存在此目录中,如用户信息、服务的启动脚本、常用服务的配置文件等。 |
/home/ | 普通用户的家目录。在创建用户时,每个用户要有一个默认登录和保存自己数据的位置,就是用户的家目录,所有普通用户的宿主目录是在/home/下建立一个和用户名相同的目录。如用户user1的家目录就是/home/user1/ |
/lib/ | 系统调用的函数库保存位置,函数库可以理解为程序,是/usr/lib/的软链接 |
/lib64/ | 64位函数库保存位置。是/usr/lib64/的软链接 |
/lost+found/ | 当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。当系统启动的过程中fsck工具会检查这里(开机会自动进行修复),并修复已经损坏的文件系统。这个日录只在每个分区中出现,例如 /lost+found就是根分区的备份恢复目录,/boot/lost+found 就是/boot分区的备份恢复目录 |
/media/ | 挂载目录。系统建议是用来挂载媒体设备的,如软盘和光盘 |
/misc/ | 挂载目录。系统建议用来挂载NFS服务的共享目录。我们在刚刚已经解释了挂载,童鞋们应该知道只要是一个已经建立的空目录就可以作为挂载点。那么系统虽然准备了三个默认挂载目录/media、/mnt、/miWsc,但是到底在哪个目录中挂载什么设备都可以由管理员自己决定。例如超哥接触Linux的时候,默认挂载目录只有/mnt一个,所以养成了在/mnt下建立不同目录挂载不同设备的习惯。如/mnt/cdrom挂载光盘,/mnt/usb挂载U盘,这都是可以的 |
/mnt/ | 挂载目录。早期Linux 中只有这一个挂载目录,并没有细分。现在系统建议这个目录用来挂载额外的设备,如U盘、移动硬盘和其他操作系统的分区。 |
/opt/ | 第三方安装的软件安装保存位置。这个目录是放置和安装其他软件的位置,手工安装的源码包软件都可以安装到这个目录中。不过习惯把软件放到 /usr/local/目录中,也就是说,/usr/local/目录也可以用来安装软件。 |
/proc/ | 虚拟文件系统。该目录中的数据并不保存在硬盘上,而是保存到在内存中。主要保存系统的内核、进程、外部设备状态和网络状态等。如/proc/cpuinfo是保存 CPU 信息的,/proc/devices是保存设备驱动的列表的,/proc/filesystems是保存文件系统列表的,/proc/net 是保存网络协议信息的… |
/sys/ | 虚拟文件系统。和/proc/目录相似,该目录中的数据都保存在内存中,主要保存与内核相关的信息。 |
/root/ | root的宿主目录。普通用户宿主目录在/home/下,root宿主目录直接在“/”下 |
/run/ | 系统运行时产生的数据,如ssid,pid等相关数据。/var/run/是此目录的软链接 |
/srv/ | 服务数据目录。一些系统服务启动之后,可以在这个目录中保存所需要的数据 |
/tmp/ | 临时目录。系统存放临时文件的目录,在该目录下,所有用户都可以访问和写入。我们建议此目录中不能保存重要数据,最好每次开机都把该目录清空 |
/usr/ | 系统软件资源目录。注意usr不是user的缩写,而是“UNIX Software Resource"的缩写,所以不是存放用户数据的目录,而是存放系统软件资源的目录。系统中安装的软件大多数保存在这里系统软件资源目录.注意usr不是用户的缩写,而是“UNIX软件资源”的缩写,所以不是存放用户数据的目录,而是存放系统软件资源的目录.系统中安装的软件大多数保存在这里。 |
/selinux/ | 是由美国国家安全局(NSA)牵头开发的,其目的是为了限制 root 的权限 |
目录名 | 目录的作用 |
---|---|
/usr/lib/ | 应用程序调用的函数库保存位置 |
/usr/local/ | 手工安装的软件保存位置。我们一般建议源码包软件安装在这个位置 |
/usr/share/ | 应用程序的资源文件保存位置,如帮助文档、说明文档和字体目录 |
/usr/src/ | 源码包保存位置。我们手工下载的源码包和内核源码包都可以保存到这里。不过更习惯把手工下载的源码包保存到/usr/local/src/目录中,把内核源码保存到 /usr/src/kernels/ 目录中 |
/usr/src/kernels/ | 内核源码保存位置(Basic System 和 Minimal 最小化软件包集合没有安装内核源代码) |
/var/ | 动态数据保存位置。主要保存缓存、日志以及软件运行所产生的文件 |
/var/www/html/ | RPM 包安装的 Apache 的网页主目录 |
/usr/share/nginx/html/ | RPM 包安装的 Nginx 的网页主目录 |
/var/lib/ | 程序运行中需要调用或改变的数据保存位置。如MySQL的数据库保存在/var/lib/mysql/目录中 |
/var/run/ | 一些服务和程序运行后,它们的PID(进程ID)保存位置。是/run/目录的软链接 |
/var/spool/ | 放置队列数据的目录。就是排队等待其他程序使用的数据,比如邮件队列和打印队列 |
/var/spool/mail/ | 新收到的邮件队列保存位置。系统新收到的邮件会保存在此目录中 |
/var/spool/cron/ | 系统的定时任务队列保存位置。系统的计划任务会保存在这里 |
为什么远程服务器木能关机呢?很简单,远程服务器没有放置在本地,关机后,谁可以帮你按开机电源键启动服务器?虽然计算机技术日新月异,但是像插入电源和开机这样的工作还是需要手工进行的。如果服务器在远程,一旦关机,就只能求助托管机房的管理人员帮你开机了。
服务器只能重启,不能关机。
远程服务器重启时需要注意两点。
(1)远程服务器在重启前,要中止正在执行的服务
计算机的硬盘最怕在高速存储时断电或重启,非常容易造成硬盘损坏。所以,在重启前先中止你的服务,甚至可以考虑暂时断开对外提供服务的网络。可能你会觉得服务器有这么娇贵吗?我的笔记本电脑经常强行关机,也没有发现硬盘损坏啊?这是因为你的个人计算机没有很多人访问,强制断电时硬盘并没有进行数据交换。小心驶得万年船!
个人电脑的硬盘的消耗很小,一般出问题的几率不大。但是服务器是有众多用户随时随地的访问,磁盘是持续性的读写。这时突然强制断电或者强制关机,磁盘出问题的几率是非常高。服务器损失概率最高的设备是硬盘。
(2)重启命令的选用
Linux可以识别的重启命令有很多条,但是建议大家使用“shutdown -r now”命令重启。这条命令在重启时会正常保存和中止服务器中正在运行的程序,是安全重启命令。而且最好在重启前执行几次“sync”命令,这条命令是数据同步命令,可以让暂时保存在内存中的数据同步到硬盘上。
这一点大家很好理解,在服务器访问高峰,如果使用一些对服务器压力较大的命令,则有可能会造成服务器响应缓慢甚至死机。
哪些命令是高负载命令呢?其实,如果大家使用过 windows 操作系统,则也会留意到一些操作会给计算机带来较大的运算压力,道理都是一样的,如复制大量的数据(备份)、压缩或者解压缩大文件、大范围的硬盘搜索等。
什么时间算作访问高峰期呢?我们一般认为17:00—24:00算作访问高峰期。当然,每台服务器具体提供的服务不同,访问高峰期有时也会有所出入。比如,服务器主要是供美国人民访问的,那就要考虑时差的问题;或者服务器提供的服务很特殊,访问高峰期可能也不同。
一般我们建议在凌晨4:00—5:00执行这些命令(算作访问的低峰期)。那是不是说我们需要在凌晨上班?当然不是,这谁受得了啊?我们可以使用系统的计划任务,让操作自动在指定的时间段执行。
磁盘是服务器的速度最慢的设备。
简单来讲,防火墙就是根据数据包自身的参数来判断是否允许数据包通过的网络设备(数据包过滤)。我们的服务器要想在公网中安全地使用,就需要使用防火墙过滤有害的数据包。但是在配置防火墙时,如果管理员对防火墙不是很熟悉,则有可能把自己的正常访问数据包和有害数据包全部过滤掉,导致自己也无法正常登录服务器,如防火墙关闭了远程连接的SSH服务的端口。
Linux 防火墙配置完全是靠手工命令完成的,配置规则和配置命令相对也比较复杂,万一设置的时候心不在焉,悲剧就发生了。
如何避免这种尴尬的情况发生呢?最好的方法当然是在服务器本地配置防火墙,这样就算不小心把自己的远程登录给过滤了,还可以通过本机登录来进行恢复。如果服务器已经在远程登录了,要配置防火墙,那么最好在本地测试完善后再进行上传,这样会把发生故障的概率降到最低。虽然在本地测试好了,但是传到远程服务器上时仍有可能发生问题。于是想到一个笨办法;如果需要远程配置防火墙,那么先写一个系统定时任务,让它每5分钟清空一下防火墙规则,就算写错了也还有反悔的机会,等测试没有问题了再删除这个系统定时任务。
软件防火墙更智能,只是效果,性能没有硬件防火墙强。但是比硬件防火墙的功能多。
防火墙的基本功能就是数据包过滤。
防火墙可以靠什么过滤数据包呢?(IP地址,MAC地址,端口号,协议类型,数据包中的数据【需要应用层的防火墙】)
前面我们介绍了设置密码需要遵守复杂性、易记忆性和时效性的三原则,这里就不再重复解释了。
服务器管理有一个最简单的原则:给予用户最小的权限。
Windows:权限会尽量大;Linux:权限会尽量小
备份的基本原则,不要把鸡蛋放在同一个篮子里。多副本异地备份。