00--linux运维架构演变过程
01--老男孩教育-CentOS6和7
01-笔记
安装系统
系统下载地址:http://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1708.iso ---已失效
只能下载最新版本,要下载往期版本可以使用http://vault.centos.org/ (在readme中找到)
安装过程会比之前简单一点
创建虚拟机(磁盘选100G)
共创建两个网卡(一个NAT,一个LAN区段(172.16.1.0/24))
点击DVD驱动选择系统,开始虚拟机,开始安装
进入安装界面后,选择第一个,按Tab建,进行配置,多按几个空格,到第二行,
输入net.ifnames=0 biosdevname=0,使网卡名统一,自动变成eth0
NETWORK&HOST NAME
进入安装界面,一直往下拉,找到NETWORK&HOST NAME 如果有eth0和eth1就说明我们修改内核成功
选择eth0点击右下角的Configure进行配置
选择General,Automatically 打勾,表示on boot的意思
选择IPV4 settings ,Method选择Manual(手动的)
Addresses中添加10.0.0.201 24(Netmask) 10.0.0.254(Gateway)
DNS添加223.5.5.5
保存
选择eth1进行配置,选择General,Automatically 打勾,选择IPV4 settings ,Method选择Manual
Addresses中添加172.16.1.0 24
保存
然后在NETWORK&HOST NAME界面的最下面有一个 Host name 可以自定义输入,我这里输入Luffy_pizza
部署
LOCALIZATION
往上拉,在最上面有一个LOCALIZATION,选择时间,直接点击地图选择shanghai。
因为之后我们还要配置NTP服务,所以可以将NETWORK TIME关掉
点击左上角的DONE,完成
SOFTWARE
左边的系统所在位置保持默认,不用管,主要是配置右边的
SOFTWARE SELECTION
选择Minimal Install 然后选择前三个(调试、兼容、开发)
点击Done,完成
SYSTEM
第一个INSTALLATION DESTINATION配置把系统安在哪里,默认是自动的。
我们选择 i will configure partitioning
点击Done,下拉框选择Standar Partiton(标准分区)默认是LVM
点击+号,/boot给1个G(直接输入的1G在centos7中或者你要给内核升级,boot可以给的大一点)
可以看到,文件系统是xfs
swap分配1G(分配分区的时候,我们其实只给根目录分配也是可以的)
/分配根目录,不输入任何东西就是剩余多少给多少
点击Done,然后接受
KDUMP
系统挂的时候,把内存中的数据放在一个地方供你分析,
暂时没有用,关掉。把勾去掉就行
点击Done
NETWORK&hostname最开始就配置好了
SECURITY POLICY
OFF就OK了
全部都改完之后,点击开始安装
在安装的过程中,在上面有一个设置root用户密码,一个是设置普通用户
如果不设置,系统会等你...直接点击图标进行设置
设置了一个普通用户,给他勾选了超级管理员权限,猜一猜,这背后做了什么?
等待....安装完毕....点击Reboot
系统启动技术
我们发现Centos7 和 6的启动方式是不一样的,而且更快
之前的那种 叫串行,有一个卡住了,后面的就不运行了(详细见上图),使用pstree命令可以查看进程之间的关系
[root@Dao ~]# pstree
init─┬─AliYunDun───16*[{AliYunDun}]
├─AliYunDunUpdate───3*[{AliYunDunUpdat}]
├─agetty
├─aliyun-service───5*[{aliyun-service}]
├─auditd───{auditd}
├─crond
├─dhclient
├─6*[mingetty]
├─nginx───nginx
├─ntpd
├─rsyslogd───3*[{rsyslogd}]
├─sshd───sshd───bash───pstree
├─udevd───2*[udevd]
└─uwsgi3───4*[uwsgi3───{uwsgi3}]
[root@Dao ~]#
systemd如何实现并发启动的
systemd是并行启动,因为每个任务或多或少都会有联系(比如一个任务需要网络,但是网络没有启动,nfs需要RPC服务),那么并行是怎么实现的呢?
见上图,
第一个原理:socket
第二个原理:D-bus 异步
第三个原理:优先启动要用的文件系统
开始登陆操作
很多软件都没有了
[root@Luffy-pizza ~]# vim 连vim都没有了
-bash: vim: command not found
[root@Luffy-pizza ~]# wget
-bash: wget: command not found
yum还是有的,如果真的选择的是最小化安装,什么都不会有的,
下面安装常用软件,见上图
[root@Luffy-pizza ~]# yum -y install wget vim lrzsz bash-completion telnet nmap
如果没有网,只能用光盘安装了
如何挂载光盘?首先要在虚拟机的光盘设置中选择---已连接
然后使用命令 mount /dev/cdrom /mnt/
cd /mnt/Packages/
rpm -ivh 各种软件,可能会出错,因为需要各种依赖包
bash-completion 是自动补全的软件,需要重新链接一下才能成效,使用tab键快速补全
关闭SELinux、防火墙(7里面的防火墙用firewall),做快照
[root@Luffy-pizza ~]# systemctl stop firewalld.service
[root@Luffy-pizza ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead) # Active 显示状态 # Loadded 里面的disabled是开机不启动
Docs: man:firewalld(1) Mar 12 03:47:19 Luffy-pizza systemd[1]: Starting firewalld - dynamic firewall daemon...
Mar 12 03:47:24 Luffy-pizza systemd[1]: Started firewalld - dynamic firewall daemon.
Mar 12 03:47:28 Luffy-pizza firewalld[906]: WARNING: ICMP type 'beyond-scope' is not sup...6.
Mar 12 03:47:28 Luffy-pizza firewalld[906]: WARNING: beyond-scope: INVALID_ICMPTYPE: No ...e.
Mar 12 03:47:28 Luffy-pizza firewalld[906]: WARNING: ICMP type 'failed-policy' is not su...6.
Mar 12 03:47:28 Luffy-pizza firewalld[906]: WARNING: failed-policy: INVALID_ICMPTYPE: No...e.
Mar 12 03:47:28 Luffy-pizza firewalld[906]: WARNING: ICMP type 'reject-route' is not sup...6.
Mar 12 03:47:28 Luffy-pizza firewalld[906]: WARNING: reject-route: INVALID_ICMPTYPE: No ...e.
Mar 12 05:14:18 Luffy-pizza systemd[1]: Stopping firewalld - dynamic firewall daemon...
Mar 12 05:14:25 Luffy-pizza systemd[1]: Stopped firewalld - dynamic firewall daemon.
Hint: Some lines were ellipsized, use -l to show in full.
systemctl disable firewalld.service 表示防火墙不要开机自启动
记得做快照
接下里将centos6和7的区别,见上图
CentOS7主推使用ip、ss命令
4 ifconfig
5 route -n
6 ip a 查看 网卡配置 同ifconfig
7 ip address
8 ip address show eth0
9 ip a s eth0
10 ip route
11 ip r
ss
[root@Luffy-pizza ~]# ss -lntup 看打开了哪些端口
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp LISTEN 0 128 *:22 *:* users:(("sshd",pid=1308,fd=3))
tcp LISTEN 0 100 127.0.0.1:25 *:* users:(("master",pid=1473,fd=13))
tcp LISTEN 0 128 :::22 :::* users:(("sshd",pid=1308,fd=4))
tcp LISTEN 0 100 ::1:25 :::* users:(("master",pid=1473,fd=14))
[root@Luffy-pizza ~]# ss -ant 看服务器连接状态
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
ESTAB 0 52 10.0.0.201:22 10.0.0.253:63802
ESTAB 0 0 10.0.0.201:22 10.0.0.253:63567
LISTEN 0 128 :::22 :::*
LISTEN 0 100 ::1:25 :::*
尽量不要去用setup命令了,nmtui:替代setup命令
见上图
一些文件
[root@Luffy-pizza ~]# uname
Linux
[root@Luffy-pizza ~]# uname -a
Linux Luffy-pizza 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
自启动文件
需要给/etc/rc.local 添加自启动权限
[root@Luffy-pizza ~]# ll /etc/rc.d/rc.local
-rw-r--r--. 1 root root 473 Aug 5 2017 /etc/rc.d/rc.local
[root@Luffy-pizza ~]# chmod +x /etc/rc.d/rc.local
运行级别的叫法不同了,为了兼容,保留了两个
[root@Luffy-pizza ~]# cat /etc/inittab
# inittab is no longer used when using systemd.
#
# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
其他运行级别在上面文件中
# systemd uses 'targets' instead of runlevels. By default, there are two main targets:
# 两个
# multi-user.target: analogous to runlevel 3 多用户运行级别
# graphical.target: analogous to runlevel 5
#
# To view current default target, run:
# systemctl get-default 查看当前运行级别
#
# To set a default target, run:
# systemctl set-default TARGET.target 设置
使用tab键看了一下,有这么多、
[root@Luffy-pizza ~]# systemctl set-default
basic.target local-fs-pre.target runlevel2.target
bluetooth.target local-fs.target runlevel3.target
cryptsetup-pre.target machines.target runlevel4.target
cryptsetup.target multi-user.target runlevel5.target
ctrl-alt-del.target network-online.target runlevel6.target
default.target network-pre.target shutdown.target
emergency.target network.target sigpwr.target
final.target nss-lookup.target sleep.target
getty.target nss-user-lookup.target slices.target
graphical.target paths.target smartcard.target
halt.target poweroff.target sockets.target
hibernate.target printer.target sound.target
hybrid-sleep.target reboot.target suspend.target
initrd-fs.target remote-fs-pre.target swap.target
initrd-root-fs.target remote-fs.target sysinit.target
initrd-switch-root.target rescue.target system-update.target
initrd.target rpcbind.target timers.target
iprutils.target runlevel0.target time-sync.target
kexec.target runlevel1.target umount.target
服务文件目录不一样了,见上图
7里面用***.service 代替了6里面的脚本文件(比如sshd.service代替了sshd)
使用方法也不一样了,见上图
还可以用is-active询问是否在启动,等等.见上图
[root@Luffy-pizza ~]# systemctl is-active crond.service
active
在Centos7中,可以查看启动过程
systemd-analyze time
systemd-analyze blame 显示的详细
systemd-analyze plot > bootime.svg 详细结果导出