主頁 > 軟體設計 > 專案作業2

專案作業2

2021-12-08 08:31:17 軟體設計

專案作業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

標籤:其他

上一篇:使用華為公司ensp搭建網路模型,電腦自動獲取ip(DHCP),可根據域名查找網頁,并且使整個模型互通

下一篇:如何搭一個小型網路拓撲結構及電腦可以自動獲取ip(入門級)

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more