專案作業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是按著行數來排序的實際并不準確

所以我們采取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 #重啟一下網路服務,發現好了

PS:這里修改好了后 組態檔會自動同步更改

2、 網關、路由器、dns概念
具有內核路由功能多網卡的設備叫做路由器
路由器上和用戶ip網路位相同的IP地址是此用戶的網關
前期環境準備
這里用一張圖片加以解釋

再添加一塊網卡

通過 nmcli device show 可以看到新網卡設備名稱為ens192,那我們就用這個ens192作為設備名

因為此時網卡沒有連接,我們需要手動把網卡起來,這里采用編輯組態檔的方式
[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

===============================================
或者用
[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
網卡添加成功就可以繼續做測驗了,我們知道不同主機位的設備是不能直接通信的,這時就體現了網關的作用

添加網關,并使之立即永久生效
這樣我們就成功添加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也可以通了

如何添加路由功能呢
firewall-cmd --permanent --add-masquerade
firewall-cmd --permanent reload
dns概念
dns包括正向決議和反向決議 可以把域名決議成IP地址(這種比較多),也可以把IP地址決議成域名
從用戶上網輸入域名到得到網頁回應這個程序來看
PS:搭建程序中有出現網卡 unmanaged的情況

在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 ##用模板生成組態檔
可以看到組態檔初始是沒有內容的

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行后面全洗掉

成功啟動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
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/375832.html
標籤:其他
