准备把台式电脑做成linux服务器,用U盘装的Centos,成功后拔掉U盘启动时出现Missing Operating System 。

准备把台式电脑做成linux服务器,用U盘装的Centos,成功后拔掉U盘启动时出现Missing Operating System 。,第1张

你之前装得是Win 7之后的版本吧?
Win7 之后的安装版和oem版都会自己在主分区和逻辑分区之外重新划出一个约100m的分区,这100m据说是用于应急和引导启动时候用,实际不详,目前知道这必须删除否则各种未知不能启动现象,最好你全盘格式化然后再装centos。

processor : 44(处理器线程序号,包括内核和超线程)
vendor_id : AuthenticAMD(品牌AMD)
cpu family : 21(CPU家族代号)
model : 1(型号代号)
model name : AMD Opteron(TM) Processor 6234(型号名称)
stepping : 2(工艺步进)
cpu MHz : 2400127(主频24G)
cache size : 2048 KB(缓存2M)
physical id : 0(CPU物理封装的序号)
siblings : 12(逻辑处理器数量,相当于线程数。)
core id : 5(CPU物理内核的序号)
cpu cores : 6(CPU物理内核的数量)
apicid : 43
initial apicid : 11
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
没有12位的处理器。你的CPU是64位的。
由于AMD采用多线程技术与Intel不一样,这款CPU应描述为6模块12核,而不是6核12线程。

作为高性能WEB服务器,只调整Nginx本身的参数是不行的,因为Nginx服务依赖于高性能的 *** 作系统。

以下为常见的几个Linux内核参数优化方法。

netipv4tcp_max_tw_buckets

对于tcp连接,服务端客户端通信完后状态变为timewait,假如某台服务器非常忙,连接数特别多的话,那么这个timewait数量就会越来越大。
毕竟它也是会占用一定的资源,所以应该有一个最大值,当超过这个值,系统就会删除最早的连接,这样始终保持在一个数量级。
这个数值就是由netipv4tcp_max_tw_buckets这个参数来决定的。
CentOS7系统,你可以使用sysctl -a |grep tw_buckets来查看它的值,默认为32768,
你可以适当把它调低,比如调整到8000,毕竟这个状态的连接太多也是会消耗资源的。
但你不要把它调到几十、几百这样,因为这种状态的tcp连接也是有用的,
如果同样的客户端再次和服务端通信,就不用再次建立新的连接了,用这个旧的通道,省时省力。

netipv4tcp_tw_recycle = 1

该参数的作用是快速回收timewait状态的连接。上面虽然提到系统会自动删除掉timewait状态的连接,但如果把这样的连接重新利用起来岂不是更好。
所以该参数设置为1就可以让timewait状态的连接快速回收,它需要和下面的参数配合一起使用。

netipv4tcp_tw_reuse = 1

该参数设置为1,将timewait状态的连接重新用于新的TCP连接,要结合上面的参数一起使用。

netipv4tcp_syncookies = 1

tcp三次握手中,客户端向服务端发起syn请求,服务端收到后,也会向客户端发起syn请求同时连带ack确认,
假如客户端发送请求后直接断开和服务端的连接,不接收服务端发起的这个请求,服务端会重试多次,
这个重试的过程会持续一段时间(通常高于30s),当这种状态的连接数量非常大时,服务器会消耗很大的资源,从而造成瘫痪,
正常的连接进不来,这种恶意的半连接行为其实叫做syn flood攻击。
设置为1,是开启SYN Cookies,开启后可以避免发生上述的syn flood攻击。
开启该参数后,服务端接收客户端的ack后,再向客户端发送ack+syn之前会要求client在短时间内回应一个序号,
如果客户端不能提供序号或者提供的序号不对则认为该客户端不合法,于是不会发ack+syn给客户端,更涉及不到重试。

netipv4tcp_max_syn_backlog

该参数定义系统能接受的最大半连接状态的tcp连接数。客户端向服务端发送了syn包,服务端收到后,会记录一下,
该参数决定最多能记录几个这样的连接。在CentOS7,默认是256,当有syn flood攻击时,这个数值太小则很容易导致服务器瘫痪,
实际上此时服务器并没有消耗太多资源(cpu、内存等),所以可以适当调大它,比如调整到30000。

netipv4tcp_syn_retries

该参数适用于客户端,它定义发起syn的最大重试次数,默认为6,建议改为2。

netipv4tcp_synack_retries

该参数适用于服务端,它定义发起syn+ack的最大重试次数,默认为5,建议改为2,可以适当预防syn flood攻击。

netipv4ip_local_port_range

该参数定义端口范围,系统默认保留端口为1024及以下,以上部分为自定义端口。这个参数适用于客户端,
当客户端和服务端建立连接时,比如说访问服务端的80端口,客户端随机开启了一个端口和服务端发起连接,
这个参数定义随机端口的范围。默认为32768 61000,建议调整为1025 61000。

netipv4tcp_fin_timeout

tcp连接的状态中,客户端上有一个是FIN-WAIT-2状态,它是状态变迁为timewait前一个状态。
该参数定义不属于任何进程的该连接状态的超时时间,默认值为60,建议调整为6。

netipv4tcp_keepalive_time

tcp连接状态里,有一个是established状态,只有在这个状态下,客户端和服务端才能通信。正常情况下,当通信完毕,
客户端或服务端会告诉对方要关闭连接,此时状态就会变为timewait,如果客户端没有告诉服务端,
并且服务端也没有告诉客户端关闭的话(例如,客户端那边断网了),此时需要该参数来判定。
比如客户端已经断网了,但服务端上本次连接的状态依然是established,服务端为了确认客户端是否断网,
就需要每隔一段时间去发一个探测包去确认一下看看对方是否在线。这个时间就由该参数决定。它的默认值为7200秒,建议设置为30秒。

netipv4tcp_keepalive_intvl

该参数和上面的参数是一起的,服务端在规定时间内发起了探测,查看客户端是否在线,如果客户端并没有确认,
此时服务端还不能认定为对方不在线,而是要尝试多次。该参数定义重新发送探测的时间,即第一次发现对方有问题后,过多久再次发起探测。
默认值为75秒,可以改为3秒。

netipv4tcp_keepalive_probes

第10和第11个参数规定了何时发起探测和探测失败后再过多久再发起探测,但并没有定义一共探测几次才算结束。
该参数定义发起探测的包的数量。默认为9,建议设置2。
设置和范例
在Linux下调整内核参数,可以直接编辑配置文件/etc/sysctlconf,然后执行sysctl -p命令生效。

1、首先需要把U盘插入Linux电脑,确保U盘指示灯是亮着的进入Linux系统主界面,按Ctrl+Alt+T打开命令窗口。
2、先获取高级用户权限,输入命令:sudo -i,确定后输入高级用户密码。
3、首先使用fdisk -l命令查看一下U盘是否有被识别到,及识别的U盘是在哪个位置,本次接入看到U盘的位置是/dev/Sdb4。
4、输入挂载U盘命令:mount /dev/sdb4 /mnt,回车后即挂载U盘成功。
5、继续输入:cd 回车,可以查看U盘下的文件。
利用WinPE工具可以通过U盘来安装Linux系统,下面以U盘WinPE工具安装Centos64版Linux为例,方法如下:
1在U盘上安装好WinPE(可以选择老毛桃U盘工具、大白菜PE等)
2在U盘根目录建立一个名为LMT的目录,将CentOS-64-x86_64-minimaliso镜像拷入U盘下的LMT目录。
3将U盘插入电脑。重启电脑,进入BIOS选择U盘启动,F10保存退出。
4系统从U盘启动以后显示出老毛桃的启动菜单。
5菜单中有一项“启动自定义ISO/IMG文件(LMT目录)”,选择该项。
6系统会列出LMT目录中的ISO文件,直接输入对应的序号就可以安装了。
首先,你的linux具体是什么发行版?还有,你的u盘使用什么格式?再有,你有没有执行mount挂载?这些都有可能会影响u盘的显示。
早期的linux,特别是红帽企业版的第4版,第5版(RedHat Enterprise Linux 4、RedHat Enterprise Linux 5,通常习惯缩写RHEL4、RHEL5),不仅要执行mount -t 命令才能挂载。而且对于NTFS格式的磁盘,还要编译安装ntfs-3g。而对于linux本身支持的ext2,ext3以及windows下比较传统的fat32则默认支持。当时的centos,fedora等基于红帽的linux也是如此。
现在的一些发行版,特别是主要面对桌面用户的,例如ubuntu,fedora,往往是在安装完系统后,就能识别各种类型的磁盘分区的。不论它是fat32还是ntfs。当然了,linux的ext2、ext3、ext4、xfs肯定也是支持的。但是一些主要是面对服务的,例如RHEL6、RHEL7、CentOS6、CentOS7等等,往往默认的安装系统时,就没有安装关于识别NTFS的软件包。需要用户自己去安装。但是这个安装已经比较方便了。前面说的RHEL4、RHEL5的时代,ntfs-3g只能用编译安装。而现在RHEL或CentOS6或7的时代,ntfs-3g已经有了rpm包,并添加进了yum软件源里面了,这意味着安装它已经不想以前那么麻烦了。
]$ yum list | grep ntfs
ntfs-3gx86_64 2:2016222-3el6 @epel
ntfs-3gi686 2:2016222-3el6 epel
ntfs-3g-develi686 2:2016222-3el6 epel
ntfs-3g-develx86_64 2:2016222-3el6 epel
ntfsprogsi686 200-13el6 epel
ntfsprogsx86_64 2:2016222-3el6 epel
ntfsprogs-develi686 200-13el6 epel
ntfsprogs-develx86_64 200-13el6 epel
ntfsprogs-gnomevfsx86_64 200-13el6 epel
从这些可以看出,只要用户配置好了epel源,就能装ntfs-3g。装好了,那么使用ntfs格式的磁盘,分区等就能识别了。
此外,现在的linux版本中各种格式的分区,只要能识别就能自动挂载。属于即插即用了。

逻辑卷

LVM(逻辑卷)的产生是因为传统的分区一旦分区好后就无法在线扩充空间,也存在一些工具能实现在线扩充空间但是还是会面临数据损坏的风险;传统的分区当分区空间不足时,一般的解决办法是再创建一个更大的分区将原分区卸载然后将数据拷贝到新分区,但是在企业的生产系统往往不允许停机或者允许停机的时间很短,LVM就能很好的解决在线扩充空间的问题,而且不会对数据造成影响,LVM还能通过快照在备份的过程中保证日志文件和表空间文件在同一时间点的一致性。《linux 就该这么学》

在LVM中PE(Physical Extend)是卷的最小单位,默认4M大小,就像我们的数据是以页的形式存储一样,卷就是以PE的形式存储。PV(Physical Volume)是物理卷,如果要使用逻辑卷,首先第一步 *** 作就是将物理磁盘或者物理分区格式化成PV,格式化之后PV就可以为逻辑卷提供PE了。VG(Volume Group)是卷组,VG就是将很多PE组合在一起生成一个卷组,当然这里的PE是可以跨磁盘的,如果当前服务器磁盘空间不足就可以增加一个新磁盘对当前系统不会产生任何影响。LV(Logical Volume)是逻辑卷,逻辑卷最终是给用户使用的,前面几个都是为创建逻辑卷做的准备,创建逻辑卷的大小只要不超过VG剩余空间就可以。

文件系统

当硬盘分区被创建完成之后,还并不能直接挂载到目录上存储文件,需要选择合适的文件系统进行格式化。常见的分区类型有FAT32、FAT16、NTFS、HP-UX等,而专供Linux使用的主流的一些分区有ext2/3/4、physical volume (LVM) 、softwareRAID、swap、vfat、xfs等。其中:

1、ext2/3/4:是适合Linux的文件系统类型,由于ext3文件系统多了日志记录功能,因此系统恢复起来更加快速,ext4是ext3的升级,效率更加高,因此建议使用默认类型ext4类型,而不要使用ext2/3;

2、physical volume (LVM):这是一种d性调整文件系统大小的机制,即可以让文件系统变大或变小,而不改变原文件数据的内容,功能不错,但性能不佳。

3、softwareRAID:利用Linux系统的特性,用软件仿真出磁盘阵列功能。

4、swap:就是内存交换空间。由于swap并不会使用到目录树的挂载,因此用swap就不需要指定挂载点。

5、vfat:同时被Linux与windows所支持的文件系统类型。如果主机硬盘同事存在windows和linux两种 *** 作系统,为了进行数据交换,可以使用该文件系统。

6、xfs:也是一个文件系统类型,在centos7中将被作为默认的文件系统类型,替换ext4。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10629941.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存