前言
实验室的服务器总是出故障,于是和师兄一起考虑将实验室重装系统,并进行一系列操作。因为之前接触的少,这次是一个很好的实践机会,过程中记录笔记如下
服务器检修
实验室的服务器
实验室有三台机架式服务器
Dell poweredge R730 | Dell poweredge R740 | thinkserver rd650 | |
---|---|---|---|
系统 | ubuntu 16.04 | ubuntu 18.04 | windows server 2008 |
制作ubuntu安装U盘
大部分内容参考自使用UltraISO制作ubuntu安装u盘启动盘图文教程,内容很详细,我的操作就是按照博客里的步骤
Ubuntu基于Debian发行版和GNOME桌面环境,在下载得到Ubuntu的光盘镜像后,可以选择刻盘引导安装或利用unetbootin工具用U盘引导安装。
如何用u盘装ubuntu?
先在网上下载ubuntu16.04镜像
和 UltraISO软件
1、首先打开UltraISO软件,尽量下载最新版的,旧版可能会不能识别磁盘,安装失败!
2、点击工具栏中的第二个打开镜像文件工具,如图红色方框标志按钮,然后在打开的“打开ISO文件”对话框中找到我们下载好的Ubuntu镜像文件,之后点右下方的“打开”按钮
3、打开镜像文件之后,在上方的列表中就会出现对打开的镜像文件的预览左边显示的是具体的目录,右边显示的目录和具体文件
4、下面就开始制作启动盘了,点击菜单栏的“启动”,然后再弹出才按中选择“写入硬盘映像...”,打开“写入硬盘映像”对话框
5、在写入硬盘映像对话框中,硬盘驱动器选择我们要写入的U盘,写入方式可以选择USB-HDD也可以选择USB-HDD+,两种方式小编都有尝试过,均可以
6、现在的这一步是非常关键的,关系到我们最后制作的硬盘映像能否启动电脑并安装系统,点击“便捷启动”,然后再弹出的菜单中依次选择“写入新的驱动器引导扇区”,再选择“Syslinux”,这一步的没有选择的话,那么我们最后制作的U盘映像将不能识别硬盘,不能安装系统
7、在选择“Syslinux”后,会弹出如下图所示的提示框,毫无疑问,这里我们应该选择“是”
8、将Syslinux引导神曲写入设置的过程非常快,写入完成后,会弹出写入成功的提示框,若是没有写入成功,那么我们要重复上面的6、7步
9、现在就到了将ISO内的文件写入到U盘的时候了,点击下面的“写入”按钮,会弹出警告提示框,点击“是”就开始U盘安装盘的写入了
10、做完上面一些设置后,点击下面的“写入”按钮,这样就开始了U盘安装盘的制作过程,小编这里用的DVD的镜像文件,文件比较大,所以也比较耗时,在制作完成后,会自动关闭这个“写入硬盘映像”的对话框
11、制作完成,打开我的电脑,我们可以看到U盘的磁盘图标和名称都已经改变,其实这些信息是从我们的镜像文件中提取出来的
制作完成,现在安全弹出U盘,重启电脑,设置冲U盘启动就可以从U盘安装Ubuntu了,具体安装过程请看小编手续的经验文档
在进行U盘安装系统之前,我们还需要设置BIOS选项,因为默认的是硬盘启动,因此我们需要进行设置为U盘启动,不同的主板设置U盘启动的方式也不同,因此小编就不在此详述怎么更改BIOS设置,大家查找自己的主板型号然后在网上找相关的设置教程即可。
完成BIOS设置后我们就可以插入U盘,重启电脑了,我们就可以使用U盘进行Ubuntu操作系统的安装了,具体的安装步骤小编就不在详述了,网上有很多相关的教程,大家可以参考下。
安装系统流程
在bios界面选择USB:data traveler字样的设备,就是U盘,点击就可以进入U盘的ubuntu系统 在ubuntu界面里,选择try ubuntu,就可以在U盘里暂时不安装系统就可以体验。 在try ubuntu中,左侧文件夹目录会显示各个硬盘和U盘的项目。其中computer选项,/home就是U盘里的。可以正常的进行ubuntu操作。 好像会重启格式化还原,也就是向里面拷数据,重启之后再通过U盘进入ubuntu界面,拷的数据就不存在了。而且在自己笔记本上打开U盘,里面的目录是和ubuntu目录不一样的,也没有拷的数据。
因为要将系统安装在新的硬盘里,所以考虑将新硬盘里的数据拷出来。然而拷进U盘会重置无法读取,旧的硬盘又无法操作(无法在旧硬盘新建文件夹)所以最后就用了另一个数据U盘,找到U盘路径,最终将数据拷到U盘里,再对新硬盘格式化。
安装ubuntu过程中,在ubuntu主界面正常选择硬盘安装即可。 我们选择的是清空硬盘数据安装(对硬盘格式化)。安装完毕会重启
在bios界面里,可以调整开机默认启动项(默认进入的系统)。我们想要将新装的系统设为默认。
F11: boot manager。一般在这里面进行操作。 选择one-shot 启动(U盘系统启动),以及调整默认启动项。
- 显示不出挂载的硬盘。 硬盘没插好。需要用劲将硬盘按进去 ,使其完全固定,才会插好。并且在开机的时候,硬盘位置处会亮灯的
服务器上硬盘是有顺序的。根据服务器版面上的提示,按照从上到下,从左到右依次编号为0,1,2..., 优先级也是依次降低的。所以在启动界面,会优先加载优先级高的硬盘里的系统。 因为旧硬盘之前在上面。新硬盘在下面,后来更换位置,就可以正常加载新装的ubuntu系统。
sudo -i : 升级到最高权限。 一些提示没有权限的操作需要进行升级 在文件/夹中, 右键属性,可以看到绝对位置路径。这样方便进行命令行操作。
配置网络以及远程ssh连接
本章节的大部分内容参考自ubuntu16.04的网络配置
截图来自于实际服务器操作
参考博客 远程ssh连接ubuntu
配置网络
打开ubuntu网络设置
在IPv4设置中,增加地址和DNS服务器
重启系统 shutdown -r now
如下 ping www.baidu.com
, 如果可以ping通,则网络配置正确
配置ssh
检查ssh服务,并安装
1 | ps -e|grep ssh #抓取是否有ssh运行程序 |
启动ssh
1 | /etc/init.d/ssh start #启动ssh |
重启系统
1 | shutdown -r now |
语言设置
安装软件
下载
浏览器搜狗输入法的linux版本安装包。 选择save file
选项
安装
首先找到安装包所在文件夹,复制路径 。如路径
/home/dell2/Downloads/
在安装包右键属性,复制文件名,如 :
sougou_64.deb
在terminal中命令行
cd /home/dell2/Downloads/
切换到当前文件夹,便于操作继续执行
sudo dpkg -i sougou_64.deb
需要root权限,所以要输入密码dpkg是linux的deb包管理。
dpkg: 是Debian packager的简称,是由Debian开发出来的包管理器,软件包在发布时打包成.deb格式
适用于Dpkg (Debian系):Ubuntu 注:RPM (Red Hat系):CentOS、Fedora
dpkg支持 tar 包。 tar 只是一种压缩文件格式,所以,它只是把文件压缩打包而已
1
2
3dpkg -i *.deb deb文件的安装
dpkg -r *.deb deb文件的卸载
dpkg -l 查看当前系统中已经安装的软件包的信息
更新依赖
dpkg常用命令行dpkg和rpm命令虽然可以解决安装,卸载和查询,但是对于软件包直接的依赖,比如安装的软件包依赖于很多其他的软件包,这两个软件只会将依赖打印出来告诉用户,需要用户一个一个的手动去先安装依赖,当依赖包又依赖其他包时,对于用户实在是不够友好,于是apt和yum出现了,他们的能够自动将依赖下载安装
apt的全称是Advanced Packaging Tool是Linux系统下的一款安装包管理工具。
一般如果提示软件安装失败,那么应该就是缺少依赖。这时候应该更新依赖并且修复依赖。
1 | sudo apt-get update #更新依赖 |
安装完毕
打开ubuntu搜索栏就可以搜索到软件,就可以使用啦
卸载软件
参考自ubuntu命令卸载
打开终端,输入dpkg --list
,按下Enter键,终端输出以下内容,显示的是你电脑上安装的所有软件。
2.在终端中找到你需要卸载的软件的名称,列表是按照首字母排序的。 3.在终端上输入命令sudo apt-get --purge remove 包名
(--purge
是可选项,写上这个属性是将软件及其配置文件一并删除,如不需要删除配置文件,可执行sudo apt-get remove 包名
) ,此处我要删除的是polipo
,那么在终端输入sudo apt-get --purge remove polipo
,按下回车,输入密码,再次回车。
4.执行过程中,会提示你是否真的要删除(继续执行删除命令),在终端输入y
,然后回车,删除程序继续执行。
5.正常情况下,再次出现输入命令行删除成功。
总结如下:
1 | dpkg --list # 找到要删除的软件 按顺序排列 |
解决向日葵连接断开问题
实验室740服务器本来是ubuntu16.04,之后升级到ubuntu18.04,在windows上连接ubuntu的向日葵,总是显示正在连接,马上就是连接已断开,于是记录下解决方案。向日葵的客服的官方解答如下:
1、检查桌面环境是否有启动,若没有请先启动。需开启显示器使用
2、需要安装lightdm插件否则会提示连接停止
3、设备终端运行 xhost +再重新发起远程桌面测试能否显示画面
本次是方案2解决的。
猜测:之前版本是ubuntu16.04支持的是lightdm,所以向日葵是可以正常运行的。而Ubuntu 16.10和更高版本中的默认显示管理器gdm,导致向日葵总是连接断开。所以切换到lightdm就可以了。
将Display Manager切换为lightdm,重新启动系统即可:
1 | sudo apt-get update |
输入用户名和密码后,将出现以下窗口,大致了解显示管理器在系统中的运行方式。
按Enter键确定;将出现以下窗口。可以通过向上和向下箭头键配置新的显示管理器,然后按Enter进行确定。
重新启动系统时,选择的显示管理器将被配置为默认显示管理器。
也可再切换为gdm3,并将lightdm删除
1 | sudo dpkg-reconfigure gdm3 #也可切换为gdm3 |
要检查当前正在使用哪个显示管理器,请运行以下命令:
1 | cat /etc/X11/default-display-manager |
gdm3
,kdm
和lightdm
都是显示管理器(Display Manager),它们提供图形化登录,并且处理用户身份验证。显示管理器:向用户显示登录屏幕,当用户成功输入用户名和密码的有效组合时,会话开始。
LightDM的登录屏幕
将向日葵设置为开机自启动
想将向日葵设置为自启动,这样以后重启服务器之后,就可以直接连接向日葵。在向日葵软件里设置并没有效果,于是想着在ubuntu开机启动项里设置。参考自linux开机自启动
linux随机启动的服务程序都在/etc/init.d这个文件夹里,里面的文件全部都是脚本文件(脚本程序简单的说就是把要运行的程序写到一个文件里让系统能够按顺序执行,类似windows下的autorun.dat文件)
另外在/etc这个文件夹里还有诸如名为rc1.d, rc2.d一直到rc6.d的文件夹,这些都是linux不同的runlevel,我们一般进入的X windows多用户的运行级别是第5级,也就是rc5.d,在这个文件夹下的脚本文件就是运行第5级时要随机启动的服务程序。
需要注意的是,在每个rc (1-6).d文件夹下的文件其实都是/etc/init.d文件夹下的文件的一个软连接(类似windows中的快捷方式),也就是说,在 /etc/init.d文件夹下是全部的服务程序,而每个rc(1-6).d只链接它自己启动需要的相应的服务程序!
在本次操作中,目的就是写入运行向日葵脚本到/etc/init.d,然后软链接到rc5.d中即可开机自启动
找到系统中名字
我们不确定向日葵(sunlogin)在系统中的名字,于是如下操作:
打开终端,输入dpkg --list
,按下Enter键,终端输出以下内容,显示的是你电脑上安装的所有软件。(按照首字母排列的)
1 | dpkg --list # 显示所有的软件名称 |
找到向日葵名称,为sunloginclient
确定向日葵的位置
要知道sunloginclient
在哪里,用locate命令可以找到。
1 | locate sunloginclient |
选择/usr/local/sunlogin/bin/sunloginclient
,这就是向日葵执行文件位置所在。
其中usr表 示是属于用户的,bin在linux里表示可以执行的程序。
验证文件位置(可忽略)
验证是否这个位置可以打开向日葵,ubuntu用命令行的方式启动向日葵
- 绝对路径:
1 | /usr/local/sunlogin/bin/sunloginclient #直接在终端输入绝对路径即可 |
如果可以启动向日葵,则表明路径正确
- 如果已经在执行文件所在的文件夹,如
/usr/local/sunlogin/bin
,则
1 | ./sunloginclient # 执行文件 |
编写sh脚本
这样,我就可以编写一个脚本程序,把它放到/etc/init.d
里,然后在rc5.d
里做一个相应的软链接就可以了。
在/etc/init.d
里新建sunlogin.sh脚本,
1 | cd /etc/init.d #cd到该目录下 |
脚本内容如下:
1 |
|
第一行#!/bin/sh是指此脚本使用/bin/sh来解释执行,#!是特殊的表示符,其后面根的是此解释此脚本的shell的路径。
第二行就是要运行的命令,也就是打开向日葵。
才开始用的是
#!/bin/bash
,发现没有效果。后参照rc5.d里sh文件里格式是sh,于是将其改为#!/bin/sh
。重启有效果。#!/bin/sh 和 #!/bin/bash 的区别可以参考区别
建立软链接
建立启动项从/etc/init.d
到/etc/rc5.d
的软链接
1 | ln -s /etc/init.d/sunlogin.sh /etc/rc5.d/S04sunlogin.sh |
建立软链接: ln -s 原目录 映射目录
删除软链接的方法: sudo rm -rf 映射目录
软链接相当于windows中的快捷方式,不必重复的占用磁盘空间
ln命令会保持每一处链接文件的同步性,和快捷方式一样
当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。
具体参考链接
还需要注意的一点是,在rc5.d里,每个链接的名字都是以S或者K开头的,S开头的表示是系统启动是要随机启动的,K开头的是不随机启动的。
如果我要哪个服务随机启动,就把它名字第一个字母K改成S就可以了,当然,把S改成K后,这个服务就不能随机启动了。因此,我这个链接 还要起名为SXXX,这样系统才能让它随机启动。
完成开机自启动
重启系统后,等一下就可以启动向日葵,完成操作
挂载硬盘
计算机启动过程(boot)
计算机启动过程分成四个阶段。 大部分内容参考自博客计算机是如何启动的?
一、第一阶段:BIOS
是一组固化到计算机内主板上一个ROM芯片上的程序,计算机通电后,第一件事就是读取它。
它保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序。其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。
一般设置都是在这个过程中进行的
这块芯片里的程序叫做"基本输入输出系统"(Basic Input/Output System),简称为BIOS。
1.1 硬件自检
BIOS程序首先检查,计算机硬件能否满足运行的基本条件,这叫做"硬件自检"(Power-On Self-Test),缩写为POST。
如果硬件出现问题,主板会发出不同含义的蜂鸣,启动中止。如果没有问题,屏幕就会显示出CPU、内存、硬盘等信息。
1.2 启动顺序
硬件自检完成后,BIOS把控制权转交给下一阶段的启动程序。
这时,BIOS需要知道,"下一阶段的启动程序"具体存放在哪一个设备。也就是说,BIOS需要有一个外部储存设备的排序,排在前面的设备就是优先转交控制权的设备。这种排序叫做"启动顺序"(Boot Sequence)。
打开BIOS的操作界面,里面有一项就是"设定启动顺序"。 (可以自己设置)
二、第二阶段:主引导记录(MBR)
BIOS按照"启动顺序",把控制权转交给排在第一位的储存设备。(已安装的硬盘/U盘)
这时,计算机读取该设备的第一个扇区,也就是读取最前面的512个字节。如果这512个字节的最后两个字节是0x55和0xAA,表明这个设备可以用于启动;如果不是,表明设备不能用于启动,控制权于是被转交给"启动顺序"中的下一个设备。
这最前面的512个字节,就叫做"主引导记录"(Master boot record,缩写为MBR)。
2.1 主引导记录的结构
"主引导记录"只有512个字节,放不了太多东西。它的主要作用是,告诉计算机到硬盘的哪一个位置去找操作系统。
主引导记录由三个部分组成:
(1) 第1-446字节:调用操作系统的机器码。
(2) 第447-510字节:分区表(Partition table)。
(3) 第511-512字节:主引导记录签名(0x55和0xAA)。
其中,第二部分"分区表"的作用,是将硬盘分成若干个区。
2.2 分区表
硬盘分区有很多好处。考虑到每个区可以安装不同的操作系统,"主引导记录"因此必须知道将控制权转交给哪个区。
分区表的长度只有64个字节,里面又分成四项,每项16个字节。所以,一个硬盘最多只能分四个一级分区,又叫做"主分区"。
每个主分区代表一个操作系统,最多只能装4个操作系统。 在操作系统中的区划分是在该主分区下进行的。
每个主分区的16个字节,由6个部分组成:
(1) 第1个字节:如果为0x80,就表示该主分区是激活分区,控制权要转交给这个分区。四个主分区里面只能有一个是激活的。
(2) 第2-4个字节:主分区第一个扇区的物理位置(柱面、磁头、扇区号等等)。
(3) 第5个字节:主分区类型。
(4) 第6-8个字节:主分区最后一个扇区的物理位置。
(5) 第9-12字节:该主分区第一个扇区的逻辑地址。
(6) 第13-16字节:主分区的扇区总数。
最后的四个字节("主分区的扇区总数"),决定了这个主分区的长度。也就是说,一个主分区的扇区总数最多不超过2的32次方。
如果每个扇区为512个字节,就意味着单个分区最大不超过2TB。再考虑到扇区的逻辑地址也是32位,所以单个硬盘可利用的空间最大也不超过2TB。如果想使用更大的硬盘,只有2个方法:一是提高每个扇区的字节数,二是增加扇区总数。
三、第三阶段:硬盘启动
这时,计算机的控制权就要转交给硬盘的某个分区了,这里又分成三种情况。
3.1 情况A:卷引导记录
上一节提到,四个主分区里面,只有一个是激活的。计算机会读取激活分区的第一个扇区,叫做"卷引导记录"(Volume boot record,缩写为VBR)。
"卷引导记录"的主要作用是,告诉计算机,操作系统在这个分区里的位置。然后,计算机就会加载操作系统了。
3.2 情况B:扩展分区和逻辑分区
主分区的其中一个被定义为扩展分区,扩展分区下可以设置多个分区,被称为逻辑分区
随着硬盘越来越大,四个主分区已经不够了,需要更多的分区。但是,分区表只有四项,因此规定有且仅有一个区可以被定义成"扩展分区"(Extended partition)。
所谓"扩展分区",就是指这个区里面又分成多个区。这种分区里面的分区,就叫做"逻辑分区"(logical partition)。
计算机先读取扩展分区的第一个扇区,叫做"扩展引导记录"(Extended boot record,缩写为EBR)。它里面也包含一张64字节的分区表,但是最多只有两项(也就是两个逻辑分区)。
计算机接着读取第二个逻辑分区的第一个扇区,再从里面的分区表中找到第三个逻辑分区的位置,以此类推,直到某个逻辑分区的分区表只包含它自身为止(即只有一个分区项)。因此,扩展分区可以包含无数个逻辑分区。
但是,似乎很少通过这种方式启动操作系统。如果操作系统确实安装在扩展分区,一般采用下一种方式启动。
3.3 情况C:启动管理器(常用)
在这种情况下,计算机读取"主引导记录"前面446字节的机器码之后,不再把控制权转交给某一个分区,而是运行事先安装的"启动管理器"(boot loader),由用户选择启动哪一个操作系统。
Linux环境中,目前最流行的启动管理器是Grub。
四、第四阶段:操作系统
控制权转交给操作系统后,操作系统的内核首先被载入内存。
以Linux系统为例,先载入/boot目录下面的kernel。内核加载成功后,第一个运行的程序是/sbin/init。它根据配置文件(Debian系统是/etc/initab)产生init进程。这是Linux启动后的第一个进程,pid进程编号为1,其他进程都是它的后代。
然后,init线程加载系统的各个模块,比如窗口程序和网络程序,直至执行/bin/login程序,跳出登录界面,等待用户输入用户名和密码。
至此,全部启动过程完成。
BIOS和UEFI的区别
BOOT设置是说电脑一按开机键后,出现那段黑屏界面BOOT运行时,你按快捷键调出各种BOOT后的程序,例如BIOS的这个按键过程。
BIOS设置是,你必须按对快捷键,从BOOT进入BIOS程序后,在BIOS程序中的设置的这个过程。
UEFI它其实和BIOS是同一个性质的东西,同一种程序,是随着发展出现的BIOS升级版。因为硬件发展迅速,传统式(Legacy)BIOS成为进步的包袱,现在已发展出最新的UEFI。理论上说是比BIOS更先进的UEFI,却还是诸多支持不足,往往很多是UEFI启动电脑,到头来还是切换回BIOS。
现在的笔记本默认是UEFI+GPT,主流趋势也是使用UEFI进行引导。如果改legacy,必须在Security选项,找到Secure Boot,关闭。
BIOS设置
U盘启动
按下电源键后,按照显示器上的提示进入BIOS,例如:按F2、F9、F11、F12或者Delete键。
方法1.直接选择带有USB:data traveler字样的enter进入即可。只是一次进入,下次还需要选择
方法2.将U盘项设置为First Boot,默认进入。一般在boot(启动)选项中进入设置
有的需要F10保存并退出
参考
计算机存储术语: 扇区,磁盘块,页
扇区(sector):硬盘的读写以扇区为基本单位。
磁盘上的每个磁道被等分为若干个弧段,这些弧段称之为扇区。
通常情况下每个扇区的大小是 512 字节。linux 下可以使用
fdisk -l
了解扇区大小注意,扇区是磁盘物理层面的概念,操作系统是不直接与扇区交互的,而是与多个连续扇区组成的磁盘块交互。由于扇区是物理层面的概念,所以无法在系统中进行大小的更改。
簇:由于操作系统无法对数目众多的扇区进行寻址,所以操作系统就将相邻的扇区组合在一起,形成一个簇,然后再对簇进行管理。每个簇可以包括2、4、8、16、32或64个扇区。操作系统是通过块簇来做为单位读取等操作数据的。
为了更好地管理磁盘空间和更高效地从硬盘读取数据,操作系统规定一个簇中只能放置一个文件的内容,因此文件所占用的空间,只能是簇的整数倍;而如果文件实际大小小于一簇,它也要占一簇的空间。
所以,一般情况下文件所占空间要略大于文件的实际大小
磁盘块(IO Block):文件系统读写数据的最小单位,也叫磁盘簇。磁盘块的大小可以通过命令
stat /boot
来查看。在Windows下如NTFS等文件系统中叫做簇;在Linux下如Ext4等文件系统中叫做块(block)。
页,page
内存的最小存储单位。页的大小通常为磁盘块大小的 2^n 倍,可以通过命令
getconf PAGE_SIZE
来获取页的大小总结也就是
- 页,内存操作的基本单位
- 磁盘块,磁盘操作的基本单位
命令索引
- 扇区大小,
fdisk -l
查看磁盘分区情况- 磁盘块大小,
stat /boot
- 内存页大小,
getconf PAGE_SIZE
linux磁盘分区
更多内容参考自
PowerEdge R740 机架式服务器基本操作
设置开机启动顺序
开机按F2进入系统启动设置,也可以按F11进入快速启动配置
在Boot Sequence处将Hard drive C设置到第一位,即优先级最高
运行硬件检测
怀疑硬件故障了,运行了一下硬件检测。可以看到有哪些硬件。来验证所连接的硬件是否正常工作,排除故障。
1.开机出现DELL LOGO标志时按2下F10键,等待大概5分钟会进入lifecycle controller界面;
2.鼠标单击选择左侧的“Hardware Diagnostics”硬件诊断,再单击右侧的“Run Hardware Diagnostics”运行硬件诊断;
3.自动进入检测
4.大概5分钟后完成快速检测,出现如下界面,再单击“YES”继续完整检测,大概需要几个小时
- 检测完成后请单击“Result”结果一列,拍照这个页面,可能需要拖动滚动条拍照未在一屏显示出的其他内容。
6、如果检测出现问题,会弹出红框,点击继续,最后查看一下原因。
查一下ERROR CODE,应该是事件日志有历史告警导致的,清除告警之后,再次运行检测程序,没有告警了。
交换空间
当今无论什么操作系统 交换(Swap)空间是非常常见的。Linux 使用交换空间来增加主机可用的虚拟内存。
典型计算机中有两种基本类型的内存。第一种类型,随机存取存储器 (RAM),用于存储计算机使用的数据和程序。只有程序和数据存储在 RAM 中,计算机才能使用它们。
交换空间是现代 Linux 系统中的第二种内存类型。交换空间的主要功能是当全部的 RAM 被占用并且需要更多内存时,用磁盘空间代替 RAM 内存。
例如,假设你有一个 8GB RAM 的计算机。如果你启动的程序没有填满 RAM,一切都好,不需要交换。假设你在处理电子表格,当添加更多的行时,你电子表格会增长,加上所有正在运行的程序,将会占用全部的 RAM 。如果这时没有可用的交换空间,你将不得不停止处理电子表格,直到关闭一些其他程序来释放一些 RAM 。
内核使用一个内存管理程序来检测最近没有使用的内存块(内存页)。内存管理程序将这些相对不经常使用的内存页交换到硬盘上专门指定用于“分页”或交换的特殊分区。这会释放 RAM,为输入电子表格更多数据腾出了空间。那些换出到硬盘的内存页面被内核的内存管理代码跟踪,如果需要,可以被分页回 RAM。
Linux 计算机中的内存总量是 RAM + 交换分区,交换分区被称为虚拟内存.
什么是swap?
swap space是磁盘上的一块区域,可以是一个分区,也可以是一个文件,或者是他们的组合。简单点说,当系统物理内存吃紧时,Linux会将内存中不常访问的数据保存到swap上,这样系统就有更多的物理内存为各个进程服务,而当系统需要访问swap上存储的内容时,再将swap上的数据加载到内存中,这就是我们常说的swap out和swap in。
很多发行版(如ubuntu)的休眠功能依赖于swap分区,当系统休眠的时候,会将内存中的数据保存到swap分区上,等下次系统启动的时候,再将数据加载到内存中,这样可以加快系统的启动速度,所以如果要使用休眠的功能,必须要配置swap分区,并且大小一定要大于等于物理内存
swap是存放在磁盘上的,磁盘的速度和内存比较起来慢了好几个数量级,如果不停的读写swap,那么对系统的性能肯定有影响,尤其是当系统内存很吃紧的时候,读写swap空间发生的频率会很高,导致系统运行很慢,像死了一样,这个时候添加物理内存是唯一的解决办法。
参考
服务器ubuntu基本操作
关机
立即关机
1 | # shutdown -h now |
指定 10 分钟后关机
1 | # shutdown -h 10 |
重新启动计算机
1 | # shutdown -r now |