A,B,C,D四个任务有依赖关系
①init:总时间T1+T2+T3+T4+T5+T6+T7
②upstart:总时间T1+T2+T3,启动速度加快,但是有依赖关系的服务还是必须先后启动。
③systemd:总时间T,即使有依赖关系的服务,也能并发启动。
并发启动原理之一:解决 socket 依赖/端口依赖
一个NFS服务想要启动,需要先让rpcbind先启动
zabbix server需要先让mysql先启动
socket:网络套接字文件,本机进程间通讯使用
端口:多台主机间网络通信
并发启动原理之二:
解决 D-Bus 依赖:采用了D-Bus作为程序之间的通信工具,类似消息队列,可以缓存信息。
d-bus 留言板
同步
异步
并发启动原理之三:解决文件系统依赖:类似autofs机制
net.ifnames=0 biosdevname=0
安装vim:yum -y install vim
tab补全:yum install -y bash-completion
其他常用包:yum -y install lrzsz nmap nc tree htop wget
yum -y install lrzsz nmap nc tree htop wget vim bash-completion
[root@CentOS7 ~]# cat /etc/hostname
CentOS7
echo "192.168.19.200 mirrors.aliyun.com" >>/etc/hosts
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 clean all
yum -y install lrzsz nmap nc tree htop wget vim bash-completion
systemd-analyze time
systemd-analyze blame
systemd-analyze plot > bootime.svg
=====CentOS6
[root@linux-node1 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
default ks
prompt 0
label ks
kernel vmlinuz
append initrd=initrd.img ks=http://10.0.0.61/ks_config/CentOS-6.9-ks.cfg ksdevice=eth1
=====CentOS7
[root@linux-node1 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
default ks
prompt 0
label ks
kernel vmlinuz
append initrd=initrd.img ks=http://10.0.0.201/ks_config/CentOS-7-ks.cfg net.ifnames=0 biosdevname=0 ksdevice=eth1