第一阶段考试:实战Linux系统日常管理

1. 【项目名称】
实战Linux系统日常管理
【项目说明】
1.安装部署rhel系统,组建RAID磁盘阵列。
2.安装nginx 通过脚本编写 nginx服务服务启动脚本
【项目考核技能点】
1、安装部署rhel系统,网络设置。
2、shell脚本的基本用法
3、 nginx的安装
4、整个方案中要包括:系统的安装,磁盘分区格式化,shell脚本的应用等相关内容。
项目环境可以参考如下:
1.安装两台rhel主机
对应主机名与IP :xuegod63.cn 192.168.1.63
xuegod64.cn 192.168.1.64
2.组建RAID0,RAID1,RAID5,RAID10.磁盘阵列。
3.安装nginx。
4.编辑shell脚本,实现nginx自动启动


实战Linux系统日常管理

#############################################################

1.安装两台rhel主机
对应主机名与IP :xuegod63.cn 192.168.1.63
xuegod64.cn 192.168.1.64

 

第一步:

打开vmware软件,新建两台虚拟机分别为RHEL7_xuegod63、RHEL7_xuegod64。1G内存,4核心,移除打印机,其他均使用默认设置

最后指定光驱挂载rhel7.2镜像,先后开始安装操作系统(也可以安装好一个以后,复制并重命名)。

选择第一项直接安装RHEL7.2操作系统,设置如下:

1、键盘和语言选择:English(US),时区:上海

2、关闭SECURITY POLICY

3、设置软件源

4、设置安装带gui的服务器,并选择安装开发工具,

5、设置磁盘分区为:/boot  500M、swap 2G、/  10G

6、关闭KDump

7、在网络设置中,修改主机名为xuegod63.cn,并开启网卡

开始安装,这时需要设置root密码,和创建一个用户!

安装完成以后,如下图:(然后重启,并进入系统)


第二步:

使用root用户登录系统后,开始部署RHEL7系统实验环境如下:

1、关闭防火墙,并设置开机自动关闭

2、关闭selinux,并设置其开机自动关闭

3、挂载光驱到/mnt,并设置自动开机挂载

在vmware中设置光驱开机自动连接

4、设置yum源

5、使用特定虚拟网络模式,设置虚拟机网络

ip分别为192.168.1.63、192.168.1.64

设置虚拟机网络模式为特定虚拟网络模式

查看本机IP地址网段是否与将要设置的网段冲突

在vmware中,设置本机vmnet1网卡如下图:

并在cmd.exe中查看设置是否生效

在RHEL7系统中,设置如下:

重新启动,再次登录后,检查如下图:

Ok,保存快照即可!

另一台虚拟机依照上面同样如此设置。

###########################################################################################################################################################################

2.组建RAID0,RAID1,RAID5,RAID10.磁盘阵列。

(在xuegod63.cn主机中实现)

为方便起见,只对虚拟机添加一块磁盘,通过分区实现磁盘整理搭建

开机,并保存快照(RAID)

通过xshell远程连接

第一步:组建RAID0磁盘阵列

1、对磁盘进行分区(分两个2G的即可)

[[email protected] ~]# ls /dev/sdb*

/dev/sdb

[[email protected] ~]# fdisk /dev/sdb

Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.

Be careful before using the write command.

Device does not contain a recognized partition table

Building a new DOS disklabel with disk identifier 0x743bcf7f.

Command (m for help): n

Partition type:

   p   primary (0 primary, 0 extended, 4 free)

   e   extended

Select (default p):

Using default response p

Partition number (1-4, default 1):

First sector (2048-41943039, default 2048):

Using default value 2048

Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +2G

Partition 1 of type Linux and of size 2 GiB is set

Command (m for help): t

Selected partition 1

Hex code (type L to list all codes): fd

Changed type of partition ‘Linux‘ to ‘Linux raid autodetect‘

Command (m for help): n

Partition type:

   p   primary (1 primary, 0 extended, 3 free)

   e   extended

Select (default p):

Using default response p

Partition number (2-4, default 2):

First sector (4196352-41943039, default 4196352):

Using default value 4196352

Last sector, +sectors or +size{K,M,G} (4196352-41943039, default 41943039): +2G

Partition 2 of type Linux and of size 2 GiB is set

Command (m for help): t

Partition number (1,2, default 2): 2

Hex code (type L to list all codes): fd

Changed type of partition ‘Linux‘ to ‘Linux raid autodetect‘

Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk label type: dos

Disk identifier: 0x743bcf7f

   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1            2048     4196351     2097152   fd  Linux raid autodetect

/dev/sdb2         4196352     8390655     2097152   fd  Linux raid autodetect

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

Syncing disks.

[[email protected] ~]# ls /dev/sdb*

[[email protected] ~]# mdadm -E /dev/sdb[1-2]

[[email protected] ~]# mdadm -C /dev/md0 -n 2 -l 0 /dev/sdb[1-2]

[[email protected] ~]# mdadm -E /dev/sdb[1-2]

2、组建RAID0磁盘阵列:

3、格式化/dev/md1磁盘

[[email protected] ~]# mkfs.xfs /dev/md0

4、挂载并设置开机自动挂载

[[email protected] ~]# mkdir /raid

[[email protected] ~]# mount /dev/md0 /raid

[[email protected] ~]# df -hT | grep /raid

[[email protected] ~]#

[[email protected] ~]# echo "/dev/md0 /raid xfs defaults 0 0" >>/etc/fstab

[[email protected] ~]# tail -1 /etc/fstab

/dev/md0 /raid xfs defaults 0 0

[[email protected] ~]# umount /raid

[[email protected] ~]# mount -av

6、保存磁盘阵列配置信息

[[email protected] ~]# mdadm -Dvs > /etc/mdadm.conf

[[email protected] ~]# cat !$

5、测试

第二步:组建RAID1磁盘阵列

1、恢复快照,分区格式化如图:(两个5G分区)

2、创建RAID1磁盘阵列

[[email protected] ~]# mdadm -C /dev/md1 -n 2 -l 1 /dev/sdb[1-2]

mdadm: Note: this array has metadata at the start and

    may not be suitable as a boot device.  If you plan to

    store ‘/boot‘ on this device please ensure that

    your boot-loader understands md/v1.x metadata, or use

    --metadata=0.90

Continue creating array? yes

mdadm: Defaulting to version 1.2 metadata

mdadm: array /dev/md1 started.

[[email protected] ~]#

3、保存配置信息

[[email protected] ~]# mdadm -Dvs >> /etc/mdadm.conf

4、格式化磁盘分区、并设置自动开机挂载

[[email protected] ~]# mkfs.xfs /dev/md1

[[email protected] ~]# ls /raid

[[email protected] ~]# echo "/dev/md1 /raid xfs defaults 0 0" >>/etc/fstab

[[email protected] ~]# tail -1 !$

[[email protected] ~]# mount -av

5、删除磁盘阵列RAID1

[[email protected] ~]# umount /raid/

[[email protected] ~]# mdadm --stop /dev/md1

[[email protected] ~]# mdadm --remove /dev/md1

[[email protected] ~]# mdadm --misc --zero-superblock /dev/sdb1

[[email protected] ~]# mdadm --misc --zero-superblock /dev/sdb2

[[email protected] ~]# mdadm -E /dev/sdb[1-2]

第三步:组建RAID5磁盘阵列

1、恢复快照,分区格式化如图:(三个5G分区)(没有使用热备盘-x)

2、创建磁盘阵列RAID5

3、保存配置信息

[[email protected] ~]# mdadm -Dvs >/etc/mdadm.conf

4、格式化磁盘分区、并设置自动开机挂载

[[email protected] ~]# mkfs.xfs /dev/md5

[[email protected] ~]# ls /raid/

[[email protected] ~]# echo "/dev/md5 /raid xfs defaults 0 0" >>/etc/fstab

[[email protected] ~]# tail -1 !$

[[email protected] ~]# mount -av

第四步:组建RAID10磁盘阵列

1、恢复快照,分区格式化如图:(六个3G分区)(使用两个热备盘-x)

2、创建两个raid1磁盘阵列

[[email protected] ~]# mdadm -E /dev/sdb[1-7]

[[email protected] ~]# mdadm -C /dev/md11 -n 2 -l 1 -x 1 /dev/sdb[1-3]

[[email protected] ~]# mdadm -D /dev/md11

[[email protected] ~]# mdadm -C /dev/md12 -n 2 -l 1 -x 1 /dev/sdb[5-7]

[[email protected] ~]# mdadm -D /dev/md12

3、使用raid1创建一个raid0磁盘阵列

[[email protected] ~]# mdadm -E /dev/md1*

[[email protected] ~]# mdadm -C /dev/md10 -n 2 -l 0 /dev/md1[1-2]

[[email protected] ~]# mdadm -D /dev/md10

4、保存配置信息

[[email protected] ~]# mdadm -Dvs > /etc/mdadm.conf

5、格式化,并设置开机自动挂载

[[email protected] ~]# mkfs.xfs /dev/md10

[[email protected] ~]# mkdir /raid

[[email protected] ~]# tail -1 !$

[[email protected] ~]# mount -av


###########################################################################################################################################################################

3.安装nginx。

(在xuegod64.cn主机中实现)

开启虚拟机,通过xshell远程连接

1、查看nginx服务是否已安装

2、从nginx官网下载nginx源码包,并通过xftp上传nginx源码包到虚拟机中

3、解压源码包到指定目录

[[email protected] ~]# tar -zxf nginx-1.11.3.tar.gz -C /usr/src/

4、创建nginx用户

5、配置nginx

[[email protected] nginx-1.11.3]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx

这是发现报错,是因为少安装了依赖包pcre-devel、zlib-devel

[[email protected] nginx-1.11.3]# rpm -q pcre-devel

[[email protected] nginx-1.11.3]# rpm -q zlib-devel

[[email protected] nginx-1.11.3]# rpm -ivh /mnt/Packages/pcre-devel-8.32-15.el7.x86_64.rpm

[[email protected] nginx-1.11.3]# rpm -ivh /mnt/Packages/zlib-devel-1.2.7-15.el7.x86_64.rpm

安装依赖关系完成后,继续配置,然后使用echo $?查看是否配置成功!

6、编译并安装

[[email protected] nginx-1.11.3]# make -j 4

[[email protected] nginx-1.11.3]# make install

7、优化,并启动nginx服务,查看服务时候安装成功

[[email protected] ~]# cp /usr/local/nginx/sbin/nginx /usr/sbin/nginx

[[email protected] ~]# ls /usr/sbin/nginx

[[email protected] ~]# nginx

[[email protected] ~]# netstat -anlpt | grep nginx

Ok,在自己的主机中查看到如上图情况即表示配置nginx成功了!!!
################################################################

4.编辑shell脚本,实现nginx自动启动

操作如下:

[[email protected] ~]# touch nginx

[[email protected] ~]# chmod +x nginx

[[email protected] ~]# ls -l nginx

[[email protected] ~]# vim nginx

[[email protected] ~]# cp nginx /etc/init.d/nginx

[[email protected] ~]# chkconfig --add nginx

[[email protected] ~]# chkconfig --list nginx

脚本代码如下:

#!/bin/bash

#chkconfig: 2345 80 80

#description: nginx Server Scripts

nginx="/usr/local/nginx/sbin/nginx"

case $1 in

  start)

      netstat -anlpt | grep nginx

      if [ $? -eq 0 ]

         then

            echo "Nginx Server is already started!"

         else

            echo "Nginx Server ready to start!"

            $nginx

            if [ $? -eq 0 ]

               then echo "Nginx Server start success!"

               else echo "Nginx Server start fail!"

            fi

      fi

;;

  stop)

      netstat -anlpt | grep nginx

      if [ $? -eq 0 ]

         then

            echo "Nginx Server ready to stop!"

            $nginx -s stop

            if [ $? -eq 0 ]

               then echo "Nginx Server stop success!"

               else echo "Nginx Server stop fail!"

            fi

         else

            echo "Nginx Server is already stop!"

       fi

;;

  restart)

      $nginx -s reload

      if [ $? -eq 0 ]

         then

            echo "Nginx Server restart success !"

         else

            echo "Nginx Server restart failed!"

      fi

;;

  status)

      netstat -anlpt | grep nginx

      if [ $? -eq 0 ]

         then

            echo "Nginx Server is running!"

         else

            echo "Nginx Server is not running!"

      fi

;;

  *)

      echo "Error , Please enter \‘services {start | stop | restart | status } nginx\‘"

;;

esac

时间: 2024-10-01 03:50:31

第一阶段考试:实战Linux系统日常管理的相关文章

Linux系统日常管理2 tcpdump,iptables

Linux系统日常管理2 tcpdump,iptables  Linux抓包工具 tcpdump 系统自带抓包工具 如果没有安装,需要安装之后才可以使用 安装: [[email protected] ~]# yum install -y tcpdump tcpdump -nn 不转换顿口的名字,直接显示端口号 tcpdump -nn -i eth0 tcp and host 192.168.0.1 and port 80 抓取192.168.0.1ip地址的80端口的tcp包,并且不进行端口名字

linux系统日常管理

以下资料来源于<跟阿铭学Linux> 1.监控当前系统状态 1. w查看当前系统的负载 [[email protected] sbin]# w 15:23:46 up 3:34, 2 users, load average: 0.03, 0.05, 0.00 USER TTY FROM [email protected] IDLE JCPU PCPU WHAT root tty1 - 12:26 2:55m 0.11s 0.11s -bash root pts/0 10.72.137.53 1

Linux系统日常管理1 w,vmstat,top,sar,free,ps监控命令

一. w, uptime 命令w, uptime [[email protected] ~]# w  04:02:31 up 1 day,  8:25,  1 user,  load average: 0.00, 0.00, 0.00 USER     TTY      FROM              [email protected]   IDLE   JCPU   PCPU WHAT root     pts/0    192.168.21.103   23:38    0.00s  0

linux系统日常管理的命令

1.监控系统的负载  w    查看当前系统的负载,详细显示主机运行时间,登录用户数,系统平均负载信息: uptime    查看当前系统的负载和主机运行时间,简单显示: 显示说明: 17:30:02    //系统当前时间: up  8:06    //主机已运行时间,时间越大,说明机器越稳定. 3 users    //用户连接数(是总的连接数,不是用户数) load average: 0.05, 0.08, 0.02    //系统平均负载,统计最近1,5,15分钟内系统的平均负载: 第二

第16章 &#160; linux系统日常管理

1. 如何看当前Linux系统有几颗物理CPU和每颗CPU的核数?物理cpu个数:cat /proc/cpuinfo |grep -c 'physical id'CPU一共有多少核:grep -c processor /proc/cpuinfo  将CPU的总核数除以物理CPU的个数,得到每颗CPU的核数. 2. 查看系统负载有两个常用的命令,是哪两个?这三个数值表示什么含义呢?两个命令分别是  w 和 uptime load average: 0.00, 0.00, 0.00 这三个系统负载值

2015-04-15 Linux系统日常管理1

内容概要: 监控系统状态 – w, vmstat 命令w, uptime system load averages  单位时间段内活动的进程数   查看cpu的个数和核数 vmstat  1 vmstat 1 10 vmstat各指标含义: r :表示运行和等待cpu时间片的进程数,如果长期大于服务器cpu的个数,则说明cpu不够用了: b :表示等待资源的进程数,比如等待I/O, 内存等,这列的值如果长时间大于1,则需要关注一下了 si :由交换区进入内存的数量: so :由内存进入交换区的数

lesson - 12 Linux系统日常管理1

监控系统状态 – w, vmstat命令w, uptimesystem load averages 单位时间段内活动的进程数 查看cpu的个数和核数vmstat 1vmstat 1 10vmstat各指标含义:r :表示运行和等待cpu时间片的进程数,如果长期大于服务器cpu的个数,则说明cpu不够用了:b :表示等待资源的进程数,比如等待I/O, 内存等,这列的值如果长时间大于1,则需要关注一下了si :由交换区进入内存的数量:so :由内存进入交换区的数量:bi :从块设备读取数据的量(读磁

centos linux系统日常管理3 第十六节课

上半节课 下半节课 Linux系统服务管理 ntsysv工具ntsysv 类似图形界面管理工具,如果没有该命令安装  yum install -y ntsysv  常用服务:crond, iptables, network, sshd, syslog, irqbalance, sendmail, microcode_ctl 保存后需要reboot才能生效 chkconfig (命令行服务管理工具) 列出服务列表: chkconfig --list 关闭2级别 : chkconfig --leve

lesson - 13 Linux系统日常管理2

内容概要: 1. Linux抓包工具 tcpdump 系统自带抓包工具tcpdump -nn -i eth0 tcp and host 192.168.0.1 and port 80tcpdump -nn -vs0 tcp and port not 22 -c 100 -w 1.cap wireshark 在linux下也可以安装 yum install -y wireshark抓包分析http请求:tshark -n -t a -R http.request -T fields -e "fra