项目作业2

项目作业2

1.用命令抓取出系统内存使用量排在前5的进程的pid
2.按照要求部署环境
公司IDC机房新到20台Linux服务器这些服务器的网卡名称均为: ens3
IDC闲置ip资源为: 172.25.254.50/24到172.25.254.70/24
IDC机房公用网关: 172.25.254.250
IDC机房公用dns : 172.25.254.251
假设管理员当前拥有一台已经安装好的Linux虚拟机两卡名称为ens10,
请使用这台虚拟机下载并配置相应软件来使新到的20台服务器可以自动连接网络

1、抓取系统内存使用量排在前5的进程的pid

ps #进程查看
#ps 命令的三种执行风格 unix bsd GNU
#a 与终端相关的进程(当用户登陆系统后产生的进程都是带终端的)
#x 与终端无关相关的进程
#u 用户信息归类的查看方式
#f 进程层级关系
#o 显示指定参数 pid comm nice pri pcpu ppid stat,user,group ##-e 显示所有进程
#-f 显示信息的完整格式
#-H 显示进程的层级结构
#-o 显示指定参数
#--sort= #

#ps ax显示信息如下:
#PID 进程id
#TTY 进程用到的终端
#STAT 进程状态
#TIME 进程占用cpu时长
#COMMAND 进程名称


#ps aux显示信息如下:
#USER 进程所有人
#PID 进程id
#%CPU 进程使用cpu的用量
#%MEM 进程所用到的内存用量
#VSZ 进程使用的虚拟内存大小
#RSS 进程常驻内存中的数据大小
#TTY 进程用到的终端
#STAT 进程状态
#START 进程运行时长
#TIME 进程占用cpu时长
#COMMAND 进程名称

这里我们用head 显示文件的前n行 (默认前十行)我们想要第一列排在前五个的pid 但是会发现head是按着行数来排序的实际并不准确
项目作业2_第1张图片

所以我们采取awk命令取第一列第二到六行(排除PID本身)
sort 正向排序
-%mem 按照内存使用量降序

[root@localhost ~]# ps -ax --sort=-%mem|awk 'NR==2,NR==6{print $1}'
2896
2420
3154
2783
4100


部署环境

1、更改网卡名为ens3

可以看到现在的网卡名称和设备名称都是ens160
在这里插入图片描述
所以我们先添加一块网卡叫做ens3,使用实际存在的设备device: ens160
PS:开始没理解清楚题意,想要修改设备名,皆以失败告终(网卡设备名称是一开始就确定的)

到redhat8 我们采用nmcli命令来管理网卡

这里添加了一块以太网类型(Type),网卡名(con-name)ens3,设备名(ifname)为ens160的网卡

nmcli connection add type ethernet con-name ens3 ifname ens160

这里ens160网卡的网卡名和主机名都是ens160

可以看到ens3网卡添加成功了,但是没有想象中的ens160没有和他连接(被ens160使用着),所以我们先把ens160网卡给删除,再查看一遍,ens3终于是得到自己的意中人了(使用设备ens160)

[root@localhost network-scripts]# nmcli connection show  
NAME    UUID                                  TYPE      DEVICE 
ens160  7ed162e9-f30f-4ef8-9c73-57dd84631a70  ethernet  ens160 
virbr0  52433b22-f7f9-4ae7-ad75-8b0bb18ac2b6  bridge    virbr0 
ens3    9c962528-04bd-48c1-88c5-12149fe04cf8  ethernet  --     
[root@localhost network-scripts]# nmcli connection delete ens160
Connection 'ens160' (7ed162e9-f30f-4ef8-9c73-57dd84631a70) successfully deleted.
[root@localhost network-scripts]# nmcli connection show
NAME    UUID                                  TYPE      DEVICE 
ens3    9c962528-04bd-48c1-88c5-12149fe04cf8  ethernet  ens160 
virbr0  52433b22-f7f9-4ae7-ad75-8b0bb18ac2b6  bridge    virbr0 

查看设备状态

[root@localhost network-scripts]# nmcli device status
DEVICE      TYPE      STATE         CONNECTION 
ens160      ethernet  connected     ens3       
virbr0      bridge    disconnected  --         
lo          loopback  unmanaged     --         
virbr0-nic  tun       unmanaged     --     

到这里我们网卡名称就成功改成了ens3

同理更改已安装的虚拟机网卡名称为ens10,但是这里是显示是黄色,避免有影响

systemctl restart NetworkManager #重启一下网络服务,发现好了

项目作业2_第2张图片
PS:这里修改好了后 配置文件会自动同步更改
项目作业2_第3张图片

2、 网关、路由器、dns概念

具有内核路由功能多网卡的设备叫做路由器
路由器上和用户ip网络位相同的IP地址是此用户的网关

前期环境准备

这里用一张图片加以解释
项目作业2_第4张图片
再添加一块网卡
项目作业2_第5张图片
通过 nmcli device show 可以看到新网卡设备名称为ens192,那我们就用这个ens192作为设备名
项目作业2_第6张图片
因为此时网卡没有连接,我们需要手动把网卡起来,这里采用编辑配置文件的方式

[root@localhost network-scripts]# ll
total 4
-rw-r--r-- 1 root root 281 Dec  7 22:08 ifcfg-ens10
[root@localhost network-scripts]# cp ifcfg-ens10 ifcfg-westos ##复制ens10的配置给到新的网卡叫做ifcfg-westos
[root@localhost network-scripts]# ll
total 8
-rw-r--r-- 1 root root 281 Dec  7 22:08 ifcfg-ens10
-rw-r--r-- 1 root root 281 Dec  7 23:19 ifcfg-westos
[root@localhost network-scripts]# vim ifcfg-westos
[root@localhost network-scripts]# cat ifcfg-westos
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=westos
DEVICE=ens192
ONBOOT=yes

#接着重启一下网络服务,发现有地址了
systemctl restart NetworkManager

项目作业2_第7张图片

===============================================
或者用

[root@localhost network-scripts]# 
 nmcli connection add con-name westos ifname ens192 ipv4.method manual ipv4.addresses 172.25.254.58/24 type ethernet
 [root@localhost network-scripts]#    nmcli connection reload
[root@localhost network-scripts]#    nmcli connection up westos  #(west为我们设定的网卡名称) 
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/6)
[root@localhost network-scripts]# nmcli connection show
NAME    UUID                                  TYPE      DEVICE 
ens10   5f2cba77-e226-4093-909f-b6121cc525c4  ethernet  ens160 
westos  28d780fa-f363-9493-5711-145570ed1b0c  ethernet  ens192 

 

网卡添加成功就可以继续做测试了,我们知道不同主机位的设备是不能直接通信的,这时就体现了网关的作用

项目作业2_第8张图片

添加网关,并使之立即永久生效
这样我们就成功添加172.25.254.50为ens3的网关了

[root@localhost sysconfig]# pwd
/etc/sysconfig
[root@localhost sysconfig]# cat network
# Created by anaconda
GATEWAY=172.25.254.50
[root@localhost sysconfig]# nmcli connection reload 
[root@localhost sysconfig]# nmcli connection up ens3
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)
[root@localhost sysconfig]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.25.254.50   0.0.0.0         UG    100    0        0 ens160
172.25.0.0      0.0.0.0         255.255.0.0     U     100    0        0 ens160

ping192.168.43.93也可以通了
项目作业2_第9张图片
如何添加路由功能呢

firewall-cmd --permanent --add-masquerade
firewall-cmd --permanent reload

dns概念

dns包括正向解析和反向解析 可以把域名解析成IP地址(这种比较多),也可以把IP地址解析成域名

从用户上网输入域名到得到网页回应这个过程来看

PS:搭建过程中有出现网卡 unmanaged的情况
项目作业2_第10张图片

在linux中,有些IP地址知道所有的域名解析(如8.8.8.8),我们如果在 /etc/resolve.conf 配置此IP地址
nameserver 8.8.8.8
就可以实现输入域名自动解析成地址了

到这里我们除了自动让20台主机自动连接上网,其余步骤都完成了

下载软件并配置文件


在主机中使用镜像找到dhcp-server的安装包
[root@localhost network-scripts]# cd /run/media/root/RHEL-8-1-0-BaseOS-x86_64/ #如不是root用户登录(或是su - root 登录)路径可能为/run/media/登录用户/RHEL-8-1-0-BaseOS-x86_64/
[root@localhost network-scripts]#  cd BaseOS/
[root@localhost network-scripts]#  cd Packages/

rpm -ivh dhcp-server-4.3.6-34.el8.x86_64.rpm
cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf ##用模板生成配置文件

可以看到配置文件初始是没有内容的
项目作业2_第11张图片

vim /etc/dhcp/dhcpd.conf
# dhcpd.conf
#
# Sample configuration file for ISC dhcpd
#

# option definitions common to all supported networks...
option domain-name "westos.org";
option domain-name-servers 172.25.254.251;

default-lease-time 600;
max-lease-time 7200;

# Use this to enble / disable dynamic dns updates globally.
#ddns-update-style none;

# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
#authoritative;

# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility local7;

# No service will be given on this subnet, but declaring it helps the 
# DHCP server to understand the network topology.

#subnet 10.152.187.0 netmask 255.255.255.0 {
#}

# This is a very basic subnet declaration.

subnet 172.25.254.0 netmask 255.255.255.0 { ##子网设定
  range 172.25.254.50 172.25.254.70; ##IP地址池
  option routers 172.25.254.250; ##网关
}

PS:
35行后面全删除

项目作业2_第12张图片
成功启动dhcp服务,对于172.25.254网段可以实现网络管理了。

作为测试
修改node1(被管理节点)网络配置文件为dhcp模式 修改之前为172.25.254网段

[root@localhost network-scripts]# cat ifcfg-ens3
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens3
UUID=cbf88bf3-e2e3-4083-a5b0-2df2f4c9c31d
DEVICE=ens160
ONBOOT=yes
接着重启一下网卡会发现网关、IP地址、dns都会按着dhcp配置的来
PS:连接wifi网络的可能会被wifi调控,重启几次或者更改一下网络环境就可以了
nmcli connection reload
nmcli connection up ens3

在搭建过程中出现了 网卡unmanaged的情况
”Connection ‘ens33‘ is not available on device ens33 because device is strictly unmanaged
可参考链接解决:https://blog.csdn.net/witton/article/details/109312331

你可能感兴趣的:(linux,服务器,运维)