初階項目一-集成一套linux系統:紅帽系統,LVM分區,Apache服務,MySQL服務,數據定時備份腳本


一.項目目標

​ 根據公司要求:集成一套LINUX系統,按照規定進行分區划分,組建LVM分區,創建用戶;部署一套web+mysql,並通過shell腳本+cron執行定期自動備份數據。

二.實施工具

​ 本次軟件實施需要用到的工具: VMware Workstation虛擬機、rhel-server-7.5-x86_64-dvd.iso鏡像文件、xshell遠程連接工具。

三.項目實施計划

1.安裝rhel7.5系統

  • ​ 首先,使用VMware Workstation12虛擬機進行模擬安裝,操作系統是rhel7.5的版本,由於在實際工作環境中一般都是接觸不了服務器的,都是通過遠程工具xshell、crt這些工具進行遠程連接操作,所以服務器是安裝帶gui的圖形化界面,而在安裝好操作系統之,可以通過配置/etc/sysconfig/network-scritpts/ifcfg-ensxx修改網卡信息,或者使用命令nmtui進行網卡的配置;
  • ​ 配置本地yum,滿足后期安裝各種軟件或工具的需求;
  • ​ 在安裝好操作系統之后關掉防火牆和Selinux,並設置防火牆開機不啟動;
  • ​ 在上面的都配置后之后,需要為系統做一個快照,以防止以后系統出現不可修復的問題時,可以快速恢復系統,不影響應用的正常運行。

2.組建LVM分區:LVM分區比標准分區更好擴展,方便后期分區容量不足時,進行擴容。

3.安裝apache服務

  • ​ ISO光盤鏡像中有Apache程序,所以可以通過yum的方式來安裝apache服務;
  • ​ 通過Web瀏覽器訪問Apache的地址,測試Apache是否安裝成功。

4.安裝MySQL服務。

5.自動備份數據

  • ​ 通過cron和shell腳本自動備份數據;
  • ​ 在完成cron和shell備份之后,在shell腳本中添加自動刪除5天前的備份數據。

四.安裝rhel7.5操作系統

4.1 配置虛擬機

1.在虛擬機的主頁上點擊創建新的虛擬主機

image-20201214164418183

2.選擇自定義,然后下一步

image-20201214163918334

3.一直默認下一步,直到選擇安裝源時選擇稍后安裝系統

image-20201214164728319

4.客戶機的操作系統選擇linux,由於我們需要安裝的時rhel7.5 64位的系統,所以在下面的版本選擇Red Hat Enterprise Linux 7 64 位,

然后下一步

5.選擇虛擬機的名稱和虛擬機安裝的位置,路徑最好是自己選擇,這樣方便以后做遷移

image-20201215163420167

6.一路默認,在選擇網絡的時候選擇僅主機模式

image-20201214165214935

7.一直下一步,直到選擇磁盤,選擇創建新虛擬磁盤,點擊下一步

image-20201214165319231

8.選擇磁盤的容量和磁盤是否為單個文件,本人在這里的選擇是磁盤大小20G,為單個文件,點擊下一步

image-20201214165440617

9.在這一步可以自定義硬件,也可以點擊完成,在后面在完善虛擬機的硬件信息,本人是選擇之后再配置硬件信息,所以是直接點擊完成

image-20201215163600996

10.配置完成之后可以在界面看到配置好的主機信息

image-20201215163751924

選擇編輯虛擬機設置

image-20201215163912937

11.由於聲卡和打印機可以不要,所以可以點擊移除,而安裝系統需要鏡像即iso文件,所以在CD/DVD選擇你的鏡像文件

image-20201215164116952

image-20201215164240865

12.自此,虛擬機的配置就完成了,下面開始安裝操作系統。

4.2 安裝操作系統

1.點擊開啟此虛擬機

image-20201215164445845

界面說明
Install Red Hat Enterprise Linux 7.2 安裝RHEL7.2
Test this media & install Red HatEnterprise Linux 7.2 測試安裝文件並安裝RHEL 7.2
Troubleshooting 修復故障

image-20201215000639505

2.在這一步可以點擊回車繼續安裝,或者等待一會自動繼續安裝

image-20201215000734345

3.選擇語言:簡體中文(新手選擇中文,老手選擇英文)

image-20201215000949508

4.需要把界面上的都配置好才可以進行下一步的安裝,本地化的日期和時間、鍵盤和語言支持都選默認,不用修改

image-20201215001103188

5.把SECURITY的開啟改為關閉

image-20201215001157909

image-20201215001252812

6.選擇服務器的軟件安裝,這里選擇的是帶GUI的服務器,但是由於在實際環境中都是通過xshell、crt這些遠程工具連接的,所以后期安裝好系統之后也會用遠程工具進行連接

image-20201215001400802

image-20201215001450796

7.選擇安裝位置,進行磁盤分區

image-20201215001605187

8.選擇-其它存儲選項-分區-我要配置分區,點左上角的“完成”,進入下面的界面,在分區方案有標准分區,btrfs,LVM,LVM簡單配置,這里默認LVM就可以,然后單擊"+"創建新的分區,分區提前規划好,一般swap分區為物理內存的1.5~2倍,/boot分區300M-500M,/home分區給2G,剩余的空間全部給/分區,實際工作中可以創建數據分區,一般把數據和系統分開

image-20201215001857733

image-20201215001939783

創建/boot分區

image-20201215002106073

9.設備類型選擇默認的標准分區,文件系統類型為xfs,RHEL7支持brtfs,生產環境不建議選擇,btrfs文件系統目前技術尚未成熟,只是作為一種前瞻技術

image-20201215002233566

10.創建/swap分區

image-20201215002408321

11.創建/home分區

image-20201215002517432

12.創建/分區(期望容量不填,代表把剩余的所有空間都給/分區)

image-20201215002651344

13.選擇接受更改(這里相當於windows的格式化分區)

image-20201215002757864

14.配置網絡,選擇開啟,開啟之后會自動獲取一個ip,如果需要手動配置的話,可以選擇配置,也可以在系統安裝完成之后再進行配置,在這里就先不配置,等安裝好系統之后再進行配置,然后點擊開始安裝

image-20201215003002828

15.設置root密碼,這里提示密碼強度較差,因為是虛擬機所以密碼不用太復雜,但在實際環境中,密碼的設定需要符合安全性的標准

image-20201215003207806

image-20201215003244739

16.下圖代表操作系統正在安裝,等待即可

image-20201215003410130

17.安裝完成之后,點擊重啟,進行最后的配置

image-20201215003501434

18.進入啟動界面

image-20201215003605618

19.首次啟動許可配置,選擇同意許可協議即可

image-20201215003707957

image-20201215003743637

20.點擊完成配置

image-20201215003832809

21.最后確認語言和鍵盤輸入

image-20201215003937922

image-20201215004009445

22.配置時區,如果在前面開啟了網絡,這里會自動獲取時區,如果沒有開啟的話,可以選擇shangghai會自動出現相關的選項

image-20201215004108211

23.配置登陸的個人賬號密碼

image-20201215163151740

image-20201215004244918

24.系統到這里已經正式安裝完成

image-20201215004346896

image-20201215004413837

4.3 系統配置

4.3.1 網絡配置

1.網絡配置可以使用nmtui、nmtui-connect和修改配置文件3種方法,配置網絡需要使用root用戶。查看網卡的信息,可以使用ifconfig

或ip addr, 由於在安裝的時候沒有開啟網絡,所以ifconfig是看不到相應的ip地址信息的。

2.配置靜態IP,網卡配置信息地址:/etc/sysconfig/network-scripts/ifcfg-ensxx (網卡一般是ens開頭的,后面是隨機的數字),使用vim

編輯器修改之后用:wq或者:x保存退出

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33   

[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
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="ens33"
UUID="1d4c270e-2a48-474d-b963-ad0e68eafbcd"
DEVICE="ens33"
ONBOOT="yes"
DNS1=114.114.114.114
IPADDR=192.168.110.184
NETMASK=255.255.255.0
GATEWAY=192.168.110.2
ZONE=

3.重啟網絡服務(systemctl restart NetworkManager和service network restart任選其一即可)

#重啟網卡
[root@localhost ~]# systemctl restart NetworkManager

#查看網卡狀態
[root@localhost ~]# systemctl status NetworkManager
● NetworkManager.service - Network Manager
   Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2020-12-15 10:32:54 CST; 8s ago
     Docs: man:NetworkManager(8)
 Main PID: 100634 (NetworkManager)
   CGroup: /system.slice/NetworkManager.service
           ├─100634 /usr/sbin/NetworkManager --no-daemon
           └─100657 /sbin/dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-ens37.pid -lf /var/lib/NetworkManager/dhclient-31881a66-4327-3e39-a2ab-b060a3b74062-ens37.lease -cf /var/lib/Ne...
......
 
[root@localhost ~]# service network restart
Restarting network (via systemctl):                        [  OK  ]

[root@localhost ~]# service network status
Configured devices:
lo ens33
Currently active devices:
lo ens33 

4.添加DNS

[root@localhost ~]# vim /etc/resolv.conf  

[root@localhost ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 192.168.110.2
nameserver 114.114.114.114

5.測試網絡是否暢通

#-c:代表ping的次數
#有數據返回代表網絡正常
[root@localhost ~]# ping -c 4 www.g.cn
PING www.g.cn (203.208.40.98) 56(84) bytes of data.
64 bytes from 203.208.40.98 (203.208.40.98): icmp_seq=1 ttl=128 time=27.9 ms
64 bytes from 203.208.40.98 (203.208.40.98): icmp_seq=2 ttl=128 time=28.7 ms
64 bytes from 203.208.40.98 (203.208.40.98): icmp_seq=3 ttl=128 time=28.4 ms
64 bytes from 203.208.40.98 (203.208.40.98): icmp_seq=4 ttl=128 time=28.5 ms

--- www.g.cn ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3007ms
rtt min/avg/max/mdev = 27.921/28.417/28.746/0.305 ms

4.3.2 修改主機名

1.方法一:使用命令:nmtui

[root@localhost ~]# nmtui

image-20201215105105091

image-20201215105145182

2.方法二:命令:hostnamectl set-hostname 需要修改的主機名

[root@localhost ~]# hostnamectl set-hostname node5
[root@localhost ~]# hostname
node5

修改主機名之后重啟系統,輸入賬號密碼之后就發現主機名已經變成剛才設置的了

4.3.3 關閉防火牆和selinux

1.關閉防火牆

#關閉防火牆
[root@node5 ~]# systemctl stop firewalld

#禁止防火牆開機自啟動
[root@node5 ~]# systemctl disable firewalld

#查看防火牆是否成功禁止開機自啟,命令:systemctl status firewalld.service 	
#因為在前面已經關掉防火牆和禁止開機自啟,所以查看一下防火牆狀態即可
[root@node5 ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

#查看防火牆是否禁止開機自啟動
[root@node5 ~]# systemctl is-enabled firewalld
disabled

2.關閉selinux:selinux配置文件的路徑:/etc/selinux/config,把SELINUX=enforcing注釋,在最后添加一行SELINUX=disabled,保存退出之后重啟系統

[root@node5 ~]# vim /etc/selinux/config 

[root@node5 ~]# cat /etc/selinux/config 

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted 

#查看selinux是否關閉
#命令為:getenforce或sestatus -v
[root@node5 ~]# getenforce
Disabled
[root@node5 ~]# sestatus -v
SELinux status:                 disabled

4.3.4 配置本地yum源

1.掛載光盤

[root@node5 ~]# mount /dev/sr0 /media     

2.編輯yum源配置文件,路徑:/etc/yum.repos.d

[root@node5 ~]# vim /etc/yum.repos.d/dvd.repo
[dvd]			#yum源名稱,唯一的,用來區分不同的yum源
name=yum server		#對yum源描述信息
baseurl=file:///media  	#yum源的路徑(repodata目錄所在的目錄)
enabled=1    	#為1,表示啟用yum源
gpgcheck=0   	#為1,表示使用公鑰檢驗rpm的正確性

3.清除緩存信息,更新yum菜單

[root@node5 ~]# yum clean all 		
[root@node5 ~]# yum list 			

4.測試yum是否配置成功,能安裝軟件就成功

[root@node5 ~]# yum -y install gcc

5.設置開機自動掛載iso鏡像文件,把光盤寫進/etc/fstab,實現開機自啟,命令: echo '/dev/sr0 /media iso9660 defaults 0 0'>>/etc/fstab

[root@node5 ~]# echo '/dev/sr0 /media iso9660 defaults 0 0'>>/etc/fstab   

4.3.5 創建快照

選中虛擬機->快照->拍攝快照->名稱按自己的需要(我的是配置好yum源的,名稱就寫yum源已配置)->描述可寫可不寫(怕自己忘記可以在描述中講述除了yum源還配置了什么或者做了什么操作)

image-20201215165019667

正在做快照

image-20201215144604254

五.組建LVM

1.新添加一塊30G的硬盤

image-20201215170234046

2.創建掛載點

[root@node5 ~]# mkdir -p /backup/web /backup/app /backup/tools /backup/logs

3.創建分區(gdisk或者fdisk)

#lsblk查看磁盤情況,發現新增的磁盤沒有出現,重啟即可
[root@node5 ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   35G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part 
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0    1G  0 disk 
├─sdb1            8:17   0   50M  0 part /sdb1
├─sdb2            8:18   0    1K  0 part 
├─sdb5            8:21   0  200M  0 part /sdb5
└─sdb6            8:22   0  298M  0 part /sdb6
sr0              11:0    1 1024M  0 rom  

#重啟機器
[root@node5 ~]# init 6

#新增的磁盤sdc出現了
[root@node5 ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   35G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part 
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0    1G  0 disk 
├─sdb1            8:17   0   50M  0 part /sdb1
├─sdb2            8:18   0    1K  0 part 
├─sdb5            8:21   0  200M  0 part /sdb5
└─sdb6            8:22   0  298M  0 part /sdb6
sdc               8:32   0   30G  0 disk 
sr0              11:0    1 1024M  0 rom  

#使用gdisk進行磁盤分區,也可以使用fdisk進行磁盤分區
[root@node5 ~]# gdisk /dev/sdc 
GPT fdisk (gdisk) version 0.8.10

Partition table scan:
  MBR: not present
  BSD: not present
  APM: not present
  GPT: not present

Creating new GPT entries.

#新增分區
Command (? for help): n
Partition number (1-128, default 1): 
First sector (34-62914526, default = 2048) or {+-}size{KMGTP}: 
Last sector (2048-62914526, default = 62914526) or {+-}size{KMGTP}: 
Current type is 'Linux filesystem'
#L查看所有分區類型
Hex code or GUID (L to show codes, Enter = 8300): L
0700 Microsoft basic data  0c01 Microsoft reserved    2700 Windows RE          
3000 ONIE boot             3001 ONIE config           4100 PowerPC PReP boot   
4200 Windows LDM data      4201 Windows LDM metadata  7501 IBM GPFS            
7f00 ChromeOS kernel       7f01 ChromeOS root         7f02 ChromeOS reserved   
8200 Linux swap            8300 Linux filesystem      8301 Linux reserved      
8302 Linux /home           8400 Intel Rapid Start     8e00 Linux LVM           
a500 FreeBSD disklabel     a501 FreeBSD boot          a502 FreeBSD swap        
a503 FreeBSD UFS           a504 FreeBSD ZFS           a505 FreeBSD Vinum/RAID  
a580 Midnight BSD data     a581 Midnight BSD boot     a582 Midnight BSD swap   
a583 Midnight BSD UFS      a584 Midnight BSD ZFS      a585 Midnight BSD Vinum  
a800 Apple UFS             a901 NetBSD swap           a902 NetBSD FFS          
a903 NetBSD LFS            a904 NetBSD concatenated   a905 NetBSD encrypted    
a906 NetBSD RAID           ab00 Apple boot            af00 Apple HFS/HFS+      
af01 Apple RAID            af02 Apple RAID offline    af03 Apple label         
af04 AppleTV recovery      af05 Apple Core Storage    be00 Solaris boot        
bf00 Solaris root          bf01 Solaris /usr & Mac Z  bf02 Solaris swap        
bf03 Solaris backup        bf04 Solaris /var          bf05 Solaris /home       
bf06 Solaris alternate se  bf07 Solaris Reserved 1    bf08 Solaris Reserved 2  
bf09 Solaris Reserved 3    bf0a Solaris Reserved 4    bf0b Solaris Reserved 5  
c001 HP-UX data            c002 HP-UX service         ea00 Freedesktop $BOOT   
eb00 Haiku BFS             ed00 Sony system partitio  ed01 Lenovo system partit
Press the <Enter> key to see more codes: 
ef00 EFI System            ef01 MBR partition scheme  ef02 BIOS boot partition 
fb00 VMWare VMFS           fb01 VMWare reserved       fc00 VMWare kcore crash p
fd00 Linux RAID     
#因為我們要創建LVM分區,所以選擇8e00 Linux LVM
Hex code or GUID (L to show codes, Enter = 8300): 8e00
Changed type of partition to 'Linux LVM'

#打印分區信息
Command (? for help): p
Disk /dev/sdc: 62914560 sectors, 30.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 572B0DFD-325C-43E9-A641-6D287FB1F121
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 62914526
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048        62914526   30.0 GiB    8E00  Linux LVM

#保存退出
Command (? for help): w

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): Y
OK; writing new GUID partition table (GPT) to /dev/sdc.
The operation has completed successfully.

4.創建LVM

#上一步進行磁盤分區之后,現在出現了/dev/sdc1分區,現在進行格式化成PV
[root@node5 ~]# ls /dev/sdc*
/dev/sdc  /dev/sdc1

#創建PV
[root@node5 ~]# pvcreate /dev/sdc1 
  Physical volume "/dev/sdc1" successfully created.

#創建VG
[root@node5 ~]# vgcreate diskvg /dev/sdc1
  Volume group "diskvg" successfully created

#創建容量為10G的LV
[root@node5 ~]# lvcreate -L 10g -n weblv diskvg
  Logical volume "weblv" created.

#創建容量為2G的LV
[root@node5 ~]# lvcreate -L 2g -n applv diskvg
  Logical volume "applv" created.

#創建容量為10G的LV
[root@node5 ~]# lvcreate -L 10g -n toolslv diskvg
  Logical volume "toolslv" created.

#創建容量為1G的LV
[root@node5 ~]# lvcreate -L 1g -n logslv diskvg
  Logical volume "logslv" created.

5.格式化

#把LV格式化為xfs文件系統
[root@node5 ~]# mkfs.xfs /dev/diskvg/weblv 
meta-data=/dev/diskvg/weblv      isize=512    agcount=4, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=2621440, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@node5 ~]# 
[root@node5 ~]# 
[root@node5 ~]# mkfs.xfs /dev/diskvg/applv 
meta-data=/dev/diskvg/applv      isize=512    agcount=4, agsize=131072 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=524288, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@node5 ~]# 
[root@node5 ~]# 
[root@node5 ~]# mkfs.xfs /dev/diskvg/toolslv 
meta-data=/dev/diskvg/toolslv    isize=512    agcount=4, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=2621440, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@node5 ~]# 
[root@node5 ~]# mkfs.xfs /dev/diskvg/logslv 
meta-data=/dev/diskvg/logslv     isize=512    agcount=4, agsize=65536 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=262144, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

6.把邏輯卷掛載到目錄

#把LV掛載到目錄上
[root@node5 ~]# mount /dev/mapper/diskvg-weblv /backup/web/
[root@node5 ~]# 
[root@node5 ~]# mount /dev/mapper/diskvg-applv /backup/app/
[root@node5 ~]# 
[root@node5 ~]# mount /dev/mapper/diskvg-toolslv /backup/tools/
[root@node5 ~]# 
[root@node5 ~]# mount /dev/mapper/diskvg-logslv /backup/logs/

7.設置開機自動掛載分區

#blkid查看分區的UUID
[root@node5 ~]# blkid
/dev/sdb1: UUID="ddcb232e-96ca-4e54-935a-3100e81dbce4" TYPE="xfs" 
/dev/sdb5: UUID="ddb20b01-0912-4c95-a304-980dc5c70659" TYPE="ext4" 
/dev/sdb6: UUID="457d31a7-28d8-424d-87fe-cca3fe9b907c" TYPE="xfs" 
/dev/sda1: UUID="6503b4ad-2975-4152-a824-feb7bea1b622" TYPE="xfs" 
/dev/sda2: UUID="nqZ4uJ-ksnN-KzYS-N42b-00m3-Ohc2-BJXunP" TYPE="LVM2_member" 
/dev/sdc1: UUID="1OMTEO-ewOI-eSfH-QkM4-3yy2-fAFE-GljDN7" TYPE="LVM2_member" PARTLABEL="Linux LVM" PARTUUID="5f8c525f-e394-4e11-a6c1-d4ee4b82dd1f" 
/dev/mapper/centos-root: UUID="c1d38b37-821d-48e7-8727-3937ccc657a4" TYPE="xfs" 
/dev/mapper/centos-swap: UUID="c2fcaf11-42d8-4e4c-bf9e-6464f0777198" TYPE="swap" 
/dev/mapper/diskvg-weblv: UUID="5fcc4412-52b3-46b0-b428-8d57d590964c" TYPE="xfs" 
/dev/mapper/diskvg-applv: UUID="041e2bd3-9115-4ab7-9151-1382006945c0" TYPE="xfs" 
/dev/mapper/diskvg-toolslv: UUID="27397965-9079-4cd1-8140-4063b4c8b255" TYPE="xfs" 
/dev/mapper/diskvg-logslv: UUID="e1eb72f4-cf6c-419e-9ef5-67a021437d8c" TYPE="xfs" 

[root@node5 ~]# echo "UUID=5fcc4412-52b3-46b0-b428-8d57d590964c /backup/web/ xfs defaults 0 0" >> /etc/fstab 
 
[root@node5 ~]# echo "UUID=041e2bd3-9115-4ab7-9151-1382006945c0 /backup/app/ xfs defaults 0 0" >> /etc/fstab 
 
[root@node5 ~]# echo "UUID=27397965-9079-4cd1-8140-4063b4c8b255 /backup/tools/ xfs defaults 0 0" >> /etc/fstab 

[root@node5 ~]# echo "UUID=e1eb72f4-cf6c-419e-9ef5-67a021437d8c /backup/logs/ xfs defaults 0 0" >> /etc/fstab 
 
[root@node5 ~]# cat /etc/fstab 
#
# /etc/fstab
# Created by anaconda on Fri Apr 26 17:09:16 2019
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=6503b4ad-2975-4152-a824-feb7bea1b622 /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
192.168.110.180:/webapp /usr/local/apache-tomcat-8.0.51/webapps/ROOT/ nfs _netdev 0 0
/dev/sdb1  /sdb1 xfs defaults 0 0 
/dev/sdb5  /sdb5 ext4 defaults 0 0 
/dev/sdb6  /sdb6 xfs defaults 0 0 
UUID=5fcc4412-52b3-46b0-b428-8d57d590964c /backup/web/ xfs defaults 0 0
UUID=041e2bd3-9115-4ab7-9151-1382006945c0 /backup/app/ xfs defaults 0 0
UUID=27397965-9079-4cd1-8140-4063b4c8b255 /backup/tools/ xfs defaults 0 0
UUID=e1eb72f4-cf6c-419e-9ef5-67a021437d8c /backup/logs/ xfs defaults 0 0
 
#mount -a命令自動掛載/etc/fstab里的分區
[root@node5 ~]# mount -a

8.查看最終分區情況

[root@node5 ~]# df -h
Filesystem                  Size  Used Avail Use% Mounted on
/dev/mapper/centos-root      17G   13G  4.4G  75% /
devtmpfs                    3.9G     0  3.9G   0% /dev
tmpfs                       3.9G  8.0K  3.9G   1% /dev/shm
tmpfs                       3.9G  8.8M  3.9G   1% /run
tmpfs                       3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sdb5                   190M  1.6M  175M   1% /sdb5
/dev/sdb1                    47M  2.7M   45M   6% /sdb1
/dev/sda1                  1014M  125M  890M  13% /boot
/dev/sdb6                   295M   16M  280M   6% /sdb6
tmpfs                       785M     0  785M   0% /run/user/0
/dev/mapper/diskvg-weblv     10G   33M   10G   1% /backup/web
/dev/mapper/diskvg-applv    2.0G   33M  2.0G   2% /backup/app
/dev/mapper/diskvg-toolslv   10G   33M   10G   1% /backup/tools
/dev/mapper/diskvg-logslv  1014M   33M  982M   4% /backup/logs

六.使用yum安裝apache服務

1.查看是否已經安裝了apache,沒有就用yum安裝。

#查看有無httpd的包,沒有就代表沒有安裝httpd服務
[root@node5 ~]# rpm -qa | grep httpd   

#yum安裝會解決依賴包的問題
#安裝httpd、mariadb服務
[root@node5 ~]# yum -y install httpd mariadb-server mysql mariadb	

2.查看httpd服務狀態

[root@node5 ~]# systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: man:httpd(8)
           man:apachectl(8)

3.開啟httpd服務

[root@node5 ~]# systemctl start httpd
[root@node5 ~]# systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2020-12-15 18:04:28 CST; 2s ago
     Docs: man:httpd(8)
           man:apachectl(8)
 Main PID: 4529 (httpd)
   Status: "Processing requests..."
   CGroup: /system.slice/httpd.service
           ├─4529 /usr/sbin/httpd -DFOREGROUND
           ├─4530 /usr/sbin/httpd -DFOREGROUND
           ├─4531 /usr/sbin/httpd -DFOREGROUND
           ├─4532 /usr/sbin/httpd -DFOREGROUND
           ├─4533 /usr/sbin/httpd -DFOREGROUND
           └─4534 /usr/sbin/httpd -DFOREGROUND

Dec 15 18:04:28 node5 systemd[1]: Starting The Apache HTTP Server...
Dec 15 18:04:28 node5 httpd[4529]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 192.168.110.184. Set the 'ServerName' directive globally to suppress this message
Dec 15 18:04:28 node5 systemd[1]: Started The Apache HTTP Server.
Hint: Some lines were ellipsized, use -l to show in full.

#停止服務的命令是:
[root@node5 ~]# systemctl stop httpd

#把httpd設置為開機自啟動
[root@node5 ~]# systemctl enable httpd

4.測試能否訪問:使用瀏覽器訪問IP地址即可,比如:http://192.168.110.184/,如果出現以下界面,說明Apache服務安裝成功,功能正常。

image-20201215180840723

5.把/etc/passwd復制到/var/www/html,並改名為index.html

[root@node5 ~]# cp /etc/passwd /var/www/html/index.html
cp: overwrite ‘/var/www/html/index.html’? y

6.使用瀏覽器進行訪問

image-20201215181212540

通過上面的測試,httpd能正常訪問,apache服務搭建完成。

七.自動備份數據

1.創建備份腳本和上傳腳本

#創建備份腳本:備份/var/www/html目錄下的日志
[root@node5 ~]# vim ~/backup.sh
[root@node5 ~]# cat ~/backup.sh
#!/bin/bash
find /backup -name "*_tar.gz" -mtime +5 -delete  &> /dev/null
tar -zcvf /backup/`date +%Y-%m-%d`_tar.gz /var/www/html  &> /dev/null

[root@node5 ~]# chmod +x ~/backup.sh

#創建上傳腳本:把192.168.110.184的備份文件上傳給192.168.110.186
[root@node5 ~]# vim ~/upload.sh
#!/bin/bash
IP=192.168.110.186
DIR=/backup
scp $DIR/*_tar.gz root@$IP:$DIR  &> /dev/null

[root@node5 ~]# chmod +x ~/upload.sh

2.設置定時任務

#設置定時任務
[root@node5 ~]# crontab -e
[root@node5 ~]# crontab -l
30 1 * * * bash ~/backup.sh
0 5 * * * bash ~/upload.sh

3.由於需要把192.168.110.184的備份文件上傳給192.168.110.186,所以配置node5和node8之間ssh免密登錄

[root@node5 ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:4Sb6zDBrHbGlK0aOhQs9ityD19qQbWAGNPDYiYtm1zU root@node5
The key's randomart image is:
+---[RSA 2048]----+
|oo               |
|.=..             |
|o.+    E.        |
|... . o.o.       |
|o+ * ..=S        |
|+ B *.+o         |
|oooX=+ o         |
|ooo+OOo          |
|  .++o+          |
+----[SHA256]-----+

[root@node5 ~]# ssh-copy-id root@192.168.110.186
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.110.186's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'root@192.168.110.186'"
and check to make sure that only the key(s) you wanted were added.

4.創建node8的接收備份文件的目錄

[root@node8 ~]# mkdir /backup
[root@node8 ~]# systemctl restart crond  #重啟crond服務
[root@node8 ~]# systemctl enable crond   #設置開機自啟動


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM