安装虚拟机以及优化
Linux系统安装及网络配置问题解决
Linux分区的三种方案
0.安装虚拟机
装虚拟机点击TAB键
net.ifnames=0 biosdevname=0
释放cache缓存 释放之前执行sync多执行几次,把buffer空间网磁盘刷一波
echo 3 >/proc/sys/vm/drop_caches
yum groupinstall "Compatibility libraries" "Base" "Development tools"
yum groupinstall "debugging Tools" "Dial-up Networking Support"
可以通过yum groupinfo查看具体安装的组件
可以查看选包的情况yum grouplist
yum -y install tree nmap sysstat lrzsz dos2unix telnet
bash-completion bash-completion-extras vim lsof net-tools rsync ntpdate nfs-utils
如果需要更新补丁执行
yum update
1.yum源处理与常用软件包安装
- vim /etc/yum.conf ===》更改keepcache=1 #开启rpm包安装缓存
- 在测试环境配置好yum源(默认国外的yum源比较慢,所以换成国内的)
- 安装常用软件包,然后执行部署,将部署过程中安装的包缓存到本地
```powershell
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup #备份原有的基础源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo #下载新的阿里云基础源
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo #下载扩展源
yum update -y #刚装完系统后就立即执行,日后就不要轻易更新
yum -y install tree nmap sysstat lrzsz telnet bash completion bash-completion-extras vim lsof net-tools rsync ntpdate nfs utils
将所有主机上的软件包汇总到一起,做成一个自己的yum源用来后期使用
2.规范主机名
- hostnamectl set-hostname +主机名 #更改主机名字(永久)
- 还可以将主机名字添加到hosts文件里实现集群主机之间相互用主机名解析
vim /etc/hosts ===》添加IP地址+主机名 #编辑好之后每一台机器都发一份
3.ssh密钥登录
- ssh-keygen #生成密钥兑(私钥和公钥)
- ssh-copy-id -i root@IP地址 #将本地的公钥安装到指定的服务器上,私钥不能外泄
不使用x-shell直接用虚拟机1当客户端去连接服务端虚拟机2(私钥加密版)
前提要保证两台机器链接同一网络====》VMnet1
ssh-keygen #生成密钥兑(私钥和公钥)生成过程中加入私钥密码12345678
ssh-copy-id -i root@服务端IP地址 #将客户端的公钥安装到指定的服务器上,私钥不能外泄
ls /root/.ssh #浏览虚拟机2的文件夹下会自动生成一个authorized-keys 的文件是存放公钥的
ssh root@服务端IP地址===》需要输入一次设置的私钥密码 #连接服务端=-==》ifconfig查看虚拟机1的IP地址已经变成虚拟机2的IP地址,表示已经连接成功
4.关闭seLinux
setenforce 0 #临时关闭seLinux
sed 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config #替换的方式永久关闭
vim /etc/selinux/config ===》SELINUX=enforcing改成SELINUX=disabled
5.关闭防火墙
systemctl stop firewalld #临时关闭
systemctl disable firewalld #永久关闭
6.配置ntp服务,同步系统时间
echo '#Timing synchronization time' >>/var/spool/cron/root #给定时任务加上注释
echo '0 */1 * * * /usr/sbin/ntpdate ntp1.aliyun.com&>/dev/null' >>/var/spool/cron/root #每隔一个小时同步一次时间
crontab -l #检查结果
7.ulimit命令介绍(对系统资源的控制分配)
vim /etc/security/limits.conf #修改配置文件 永久设置
<domain>表示要限制的用户
<type>表示可选的资源
<item>表示可选的资源
<value>表示要限制的值
配置内容:soft nofile 102400
hard nofile 102400
soft nproc 102400
hard nproc 102400
重启生效:内核的配置文件需要重启内核 reboot
还有一个配置文件: /etc/security/limits.d/20-nproc.conf 比上个文件优先级高==》可以针对某个用户单独设置
#????
[root@egon ~]# ulimit -n # # 查看打开的最大文件数目
65535
[root@egon ~]# ulimit -u # 查看打开的最大进程数目
二、网络优化
1.关闭NetwprkManager
systemctl stop NetworkManager #临时关闭
systemctl disable NetworkManager #永久关闭
2.Jumbo frames(巨型针)
万兆网卡MTU=9000,交换机也要设置,而且对端的MTU也要=9000,否则会出错误,最大传输单元,以太网内一般为1500,这样发送大文件就需要经过:切片==》发送==》重组
网络优化
3.网卡绑定
4.调整swappiness
swappiness参数值可设置范围在0-100之间。此参数值越低,就会让Linux系统尽量少用swap分区,多用内存。设置为100可能会影响整体性能,如果内存充足,就可以将这个值设置很低,甚至为0,以避免系统进行swap而影响性能,不建议设置成0,建议设置成10即可
https://www.cnblogs.
com/linhaifeng/articles/13960093.html #详解网址
cat /proc/sys/vm/swappiness #查看swappiness值 默认60
echo "vm.swappiness = 10" | tee -a /etc/sysctl.conf #更改值为10
5.调整Kernel pid max
cat /proc/sys/kernel/pid_max #查看Kernel pid max的值
在64位系统上,pid最大值可以设置为2^22等于4194304(pid最大值限制,大约400万)
默认131072通常够用,可以酌情调整,以减少滚动翻转问题
echo 4194303 > /proc/sys/kernel/pid_max #临时调整
echo "kernel.pid_max= 4194303" | tee -a /etc/sysctl.conf sysctl -p #永久生效
三、开机优化
1.登录欢迎信息
vim /etc/motd #编辑登录前的提示信息
2.禁用ping
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all #禁止自己主机被别人ping通
3.硬盘问题
单块盘做raid0可解决服务器盘符飘逸的问题,按照经验来说,通过1T容量的硬盘要对应1G的内存,可以按照这个比例来购买主机,.xfs文件系统用ssd做日志盘,无须格式化,裸盘就可以
日志盘大小=(网络带宽与硬盘带宽取小*脏数据最大同步时间)*2