1.挂载lvm
lvm建立过程:
-
基于硬盘设备创建物理卷pv。
-
在pv的基础上在创建卷组vg,创建时可以指定pe的大小,默认4MB。
-
创建好卷组之后就可以基于卷组建立指定大小的逻辑卷lvm。lvm支持动态扩展和缩减,具有较高的灵活性。
#创建pv
[root@node1 ~]# pvcreate /dev/sdb /dev/sdc
Physical volume "/dev/sdb" successfully created.
Physical volume "/dev/sdc" successfully created.
[root@node1 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <299.00g 124.00m
/dev/sdb vg1 lvm2 a-- 9.99g 9.99g
/dev/sdc vg1 lvm2 a-- 9.99g 9.99g
#创建vg
[root@node1 ~]# vgcreate -s 8M vg1 /dev/sdb /dev/sdc
Volume group "vg1" successfully created
[root@node1 ~]# vgdisplay vg1
--- Volume group ---
VG Name vg1
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 19.98 GiB
PE Size 8.00 MiB
Total PE 2558
Alloc PE / Size 0 / 0
Free PE / Size 2558 / 19.98 GiB
VG UUID 0Nodo8-zDIH-C1Ni-feku-PALg-wFIz-2Ex9Ui
#创建lv
[root@node1 ~]# lvcreate -L 8G -n lv1 vg1
Logical volume "lv1" created.
[root@node1 ~]# lvdisplay vg1
--- Logical volume ---
LV Path /dev/vg1/lv1
LV Name lv1
VG Name vg1
LV UUID OfrAsj-nD5s-aFT9-i9X1-vbr1-QFSZ-RgM418
LV Write Access read/write
LV Creation host, time node1, 2021-06-17 16:21:04 +0800
LV Status available
# open 0
LV Size 8.00 GiB
Current LE 1024
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:3
使用lvm
mkfs.xfs /dev/vg1/lv1
mount /dev/vg1/lv1 test1
2.后台进程放到前台
-
编写测试程序,让其后台运行
[root@master ~]# cat a.sh #!/bin/bash while true; do echo "Test Programme." sleep 2 done [root@master ~]# nohup ./a.sh & [1] 23688 nohup: ignoring input and appending output to ‘nohup.out’ [root@master ~]# tail -f nohup.out Test Programme. Test Programme. Test Programme. Test Programme. Test Programme. Test Programme. Test Programme. Test Programme.
-
将后台程序调到前台,终止掉
[root@master ~]# fg nohup ./a.sh ^C [root@master ~]# ps -ef | grep nohup root 24315 15980 0 16:01 pts/0 00:00:00 grep --color=auto nohup
3.二层网络数据包传输过程
说明:
-
二层是指数据链路层
-
通信的发起一般都是从应用层发起的,自上而下层层封装各层对应的头部后,通过网卡发送出去。通过ip网络的路由转发,发送到目的主机的网卡上,然后由目的主机的内核进行层层解封装,最后发送给应用层的目标进程上。
-
二层的通信过程是这样的
-
首先给网络层传过来的包(Packet)添加链路层头部
-
二层网络通过mac地址通信,源mac会和目的mac都写在链路层封装的头部里。
-
封装完成的数据称为帧(Frame),封装后通过物理层以bit的形式发送到二层交换机(如果有);如果是直连的则直接发过去即可。
-
二层交换机会在内存中维护一个mac地址表,如果目的mac在表中有记录,则通过对应的接口转发出去;如果没有记录,则发送二层广播,获取到目的mac后,继续数据通过指定端口发送出去。
-
中间如果有路由器和其他二层交换设备,在该层所做的工作类似上一步;
-
最后发送到目标主机的目标网卡上,收到该数据包后一看mac地址是自己,就解封装后往上层接着发送。
-
4.三层网络数据包传输过程
说明:
-
三层这里指的是OSI网络协议里的网络层。
-
简略通信过程如下:
-
将传输层发来的数据添加网络包头
-
头部信息里包括源和目的ip信息
-
然后通过上面的过程转发到目的设备的 网卡上或者路由器上。如果中间有路由器,会从路由器内存中维护的路由表查看记录信息,如果有目的ip的记录,则通过对应的端口转发出去。
-
在数据链路层的通信过程在上一步有说明。层层递进,到达目的主机后,逐级解封转即可。
-
目的主机在查看该数据包的过程中,发现目的ip是自己,则转发给上面的传输层。
-
传输层解封装后获取到某个tcp或者udp端口,从而知道要访问的目的进程是什么。
-
5.集群搭建前的准备工作
集群这里主要是指计算机集群,由多个相同功能的节点组合而成,用于提供某种特定的资源,从而实现高可用,负载均衡等功能。集群有硬件集群如服务器集群(提供基础计算存储网络等资源),以及软件集群(如mysql,redis集群等)之分。无论是何种集群,在组建之前都需要事先准备底层资源并搭建一些基础服务,以下就是对这个过程的简述。
底层基础设施
-
服务器节点,用于提供计算资源和常规的存储资源
-
存储服务器,提供大容量数据存储
-
网络资源,包括路由器、交换机、负载均衡设备等
-
安全设备,包括防火墙、审计系统、堡垒机等
上层基础应用
-
域名解析服务,如需对外访问则需要申请购买,内网使用可以自己搭建
-
时间同步服务,如chrony或者ntpd等服务,让集群内节点时间保持一致
-
dhcp服务,为集群内主机动态分配ip地址
实际应用
-
缓存服务,redis,加速数据访问提升访问速度
-
共享存储服务,nfs或者ceph,存储结构化数据,如视频和图片等信息
-
数据库服务,mysql,存放结构化数据,如文本信息
-
监控服务,prometheus,事前预警事后追溯
-
日志服务,elk,收集日志并进行分析处理