1、 自建yum仓库,分别为网络源和本地源
本地源:
[root@localhost data]# mkdir -p /media/cdrom
[root@localhost data]# mount /dev/sr0 /media/cdrom/
mount: /dev/sr0 is write-protected, mounting read-only
[root@localhost yum.repos.d]# mkdir bak
[root@localhost yum.repos.d]# mv *.repo bak/
[root@localhost yum.repos.d]# vim local.repo
[local]
name=local repo
baseurl=file:///media/cdrom
gpgcheck=1 ##这里可以不写,因为默认就为1
gpgkey=file:///media/cdrom/RPM-GPG-KEY-CentOS-7
[root@localhost yum.repos.d]# yum repolist
#开机自动挂载,可以更改/etc/fstab文件,文件最后添加如下的内容
[root@localhost ~]# vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Tue Apr 28 14:45:06 2020
#
# 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
#
UUID=1240deab-e846-4a35-995c-4bca06c0b58e / xfs defaults 0 0
UUID=67272fc1-f4ea-476d-a257-786f76d52b8b /boot xfs defaults 0 0
UUID=5b09d909-bd8e-41f2-a0d2-14c3e1b4ba39 /data xfs defaults 0 0
UUID=b431e23b-2051-41cc-830b-fbe941169f76 swap swap defaults 0 0
UUID=2020-04-22-00-55-24-00 /media/cdrom iso9660 defaults 0 0
网络源:
安装httpd服务,可以通过rpm方式一个一个的安装,也可以使用前面所配置的本地源来安装,这里我使用本地源安装
[root@localhost ~]# yum install httpd
[root@localhost ~]# systemctl start httpd.service
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# mkdir -p /var/www/html/centos/7/os/x86_64/
[root@localhost ~]# mount /dev/sr0 /var/www/html/centos/7/os/x86_64/
mount: /dev/sr0 is write-protected, mounting read-only
开机自动挂载可以和本地源一样修改/etc/fstab文件,当然也可以直接将光盘所有内容拷贝到对应文件中
#验证,在浏览器中访问对应的文件夹,看是否能够成功,这里10.0.8.7后面的”/ ”表示根,而这个跟所指向的路径问服务器本地路径为”/var/www/html”
配置客户端:
在客户端中做如下配置:
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mkdir bak
[root@localhost yum.repos.d]# mv *.repo bak
[root@localhost yum.repos.d]# vim base.repo
[base]
name=base
baseurl=http://10.0.8.7/centos/7/os/x86_64
gpgcheck=1
gpgkey=http://10.0.8.7/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7
#执行yum repolist,可以看到列出了配置的yum repo 源为刚才创建的base.repo
至此,yum的网络源以及本地源搭建完毕
2、 编译安装http2.4,实现可以正常访问,并将编译步骤和结果提交。
安装编译环境:
yum install -y gcc-c++.x86_64 apr-devel.x86_64 apr-util-devel.x86_64 pcre-devel.x86_64
下载http2.4源码包:
wget https://mirror.bit.edu.cn/apache//httpd/httpd-2.4.43.tar.gz
解压:
tar -xf httpd-2.4.43.tar.gz
cd httpd-2.4.43/
./configure
#执行完configure命令后得到如下返回信息,并且查看$?返回值为0,则表示成功,可以执行下一步操作
make && make install
#执行如上命令并得到如下返回信息,查看$?返回值为0,则表示编译安装成功
启动httpd服务
启动前先关闭firewalld防火墙,以免影响测试效果,生产环境中可以添加允许访问80端口的策略
[root@localhost httpd-2.4.43]# systemctl stop firewalld.service
通过如下命令启动httpd服务,并使用ss命令查看80端口是否监听
[root@localhost httpd-2.4.43]# /usr/local/apache2/bin/apachectl -f /usr/local/apache2/conf/httpd.conf
[root@localhost httpd-2.4.43]# ss -ln | grep 80
通过web访问此服务器IP地址,会得到如下结果
至此,编译安装httpd 2.4完成,并成功启动httpd
3、 创建一个2G的文件系统,块大小为2048byte,预留1%可用空间,文件系统 ext4,卷标为TEST,要求此分区开机后自动挂载至/test目录,且默认有acl挂载选项
虚拟机中添加一块硬盘,硬盘大小大于2G,添加以后通过lsblk查看系统是否识别,如果没有识别到,使用如下命令进行扫描:
[root@localhost ~]# echo '- - -' > /sys/class/scsi_host/host2/scan
[root@localhost ~]# lsblk à lsblk再次查看,已经识别到新的sdb硬盘
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 60G 0 disk
├─sda1 8:1 0 512M 0 part /boot
├─sda2 8:2 0 10G 0 part /
├─sda3 8:3 0 4G 0 part [SWAP]
├─sda4 8:4 0 1K 0 part
└─sda5 8:5 0 45.5G 0 part /data
sdb 8:16 0 2G 0 disk
sr0 11:0 1 9.6G 0 rom /mnt
[root@localhost ~]# fdisk /dev/sdb à 通过fdisk命令对新硬盘进行分区
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 0x927f0452.
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-4194303, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-4194303, default 4194303):
Using default value 4194303
Partition 1 of type Linux and of size 2 GiB is set
Command (m for help): p
Disk /dev/sdb: 2147 MB, 2147483648 bytes, 4194304 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: 0x927f0452
Device Boot Start End Blocks Id System
/dev/sdb1 2048 4194303 2096128 83 Linux
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 60G 0 disk
├─sda1 8:1 0 512M 0 part /boot
├─sda2 8:2 0 10G 0 part /
├─sda3 8:3 0 4G 0 part [SWAP]
├─sda4 8:4 0 1K 0 part
└─sda5 8:5 0 45.5G 0 part /data
sdb 8:16 0 2G 0 disk
└─sdb1 8:17 0 2G 0 part à 可以看到新硬盘已经分出了一个2G的分区
sr0 11:0 1 9.6G 0 rom /mnt
[root@localhost ~]# mkfs.ext4 -b 2048 -m 1 -L TEST /dev/sdb1 à 通过mkfs.ext4对分区进行
格式化
参数说明:
-b 指定块大小
-m 指定保留空间,这里1代表保留分区的1%预留空间
-L 指定分区的卷标
在创建文件夹/test,并将新分区mount到此文件夹上
[root@localhost ~]# mkdir /test
[root@localhost ~]# mount /dev/sdb1 /test/
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 975M 0 975M 0% /dev
tmpfs 991M 0 991M 0% /dev/shm
tmpfs 991M 11M 981M 2% /run
tmpfs 991M 0 991M 0% /sys/fs/cgroup
/dev/sda2 10G 5.0G 5.1G 50% /
/dev/sda5 46G 33M 46G 1% /data
/dev/sda1 509M 163M 347M 32% /boot
tmpfs 199M 12K 199M 1% /run/user/42
tmpfs 199M 0 199M 0% /run/user/0
/dev/sr0 9.6G 9.6G 0 100% /mnt
/dev/sdb1 2.0G 9.1M 1.9G 1% /test
这里只是临时挂载,开机自动挂载需要编辑/etc/fstab文件,如下图:
让此分区默认有acl选项,需要在defaults(也可以不写defaults)后面写上acl
通过tune2fs -l /dev/sdb1 查看,可以看到已经具有acl选项了
4、 创建一个至少有两个PV组成的大小为20G的名为testvg的VG;要求PE大小 为16MB, 而后在卷组中创建大小为5G的逻辑卷testlv;挂载至/users目录
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 60G 0 disk
├─sda1 8:1 0 512M 0 part /boot
├─sda2 8:2 0 10G 0 part /
├─sda3 8:3 0 4G 0 part [SWAP]
├─sda4 8:4 0 1K 0 part
└─sda5 8:5 0 45.5G 0 part /data
sdb 8:16 0 5G 0 disk
sdc 8:32 0 20G 0 disk
sr0 11:0 1 9.6G 0 rom
[root@localhost ~]# pvcreate /dev/sdb /dev/sdc
Physical volume "/dev/sdb" successfully created.
Physical volume "/dev/sdc" successfully created.
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb lvm2 --- 5.00g 5.00g
/dev/sdc lvm2 --- 20.00g 20.00g
[root@localhost ~]# vgcreate -s 16M testvg /dev/sdb /dev/sdc
Volume group "testvg" successfully created
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
testvg 2 0 0 wz--n- <24.97g <24.97g
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb testvg lvm2 a-- 4.98g 4.98g
/dev/sdc testvg lvm2 a-- 19.98g 19.98g
[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name testvg
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size <24.97 GiB
PE Size 16.00 MiB
Total PE 1598
Alloc PE / Size 320 / 5.00 GiB
Free PE / Size 1278 / <19.97 GiB
VG UUID vkbHv9-SAjQ-yRhl-asVt-OgHw-vi3a-Z4wbXU
[root@localhost ~]# lvcreate -L 5G -n testlv testvg
Logical volume "testlv" created.
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
testlv testvg -wi-a----- 5.00g
[root@localhost ~]# lvdisplay
--- Logical volume ---
LV Path /dev/testvg/testlv
LV Name testlv
VG Name testvg
LV UUID o2r9ia-UlKl-Oi1X-EFx2-yXqR-nHk3-TtLlek
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2020-06-02 10:43:57 +0800
LV Status available
# open 0
LV Size 5.00 GiB
Current LE 320
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
[root@localhost ~]# mkfs.ext4 /dev/testvg/testlv à 我这里使用的是ext4文件格式,
如果是xfs格式,需要使用mkfs.xfs
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
327680 inodes, 1310720 blocks
65536 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1342177280
40 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
[root@localhost ~]# mkdir /users
[root@localhost ~]# mount /dev/mapper/testvg-testlv /users
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 975M 0 975M 0% /dev
tmpfs 991M 0 991M 0% /dev/shm
tmpfs 991M 11M 981M 2% /run
tmpfs 991M 0 991M 0% /sys/fs/cgroup
/dev/sda2 10G 4.8G 5.3G 48% /
/dev/sda5 46G 33M 46G 1% /data
/dev/sda1 509M 163M 347M 32% /boot
tmpfs 199M 8.0K 199M 1% /run/user/42
tmpfs 199M 0 199M 0% /run/user/0
/dev/mapper/testvg-testlv 4.8G 20M 4.6G 1% /users
[root@localhost ~]# vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Tue Apr 28 14:45:06 2020
#
# 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
#
UUID=1240deab-e846-4a35-995c-4bca06c0b58e / xfs defaults 0 0
UUID=67272fc1-f4ea-476d-a257-786f76d52b8b /boot xfs defaults 0 0
UUID=5b09d909-bd8e-41f2-a0d2-14c3e1b4ba39 /data xfs defaults 0 0
UUID=b431e23b-2051-41cc-830b-fbe941169f76 swap swap defaults 0 0
/dev/mapper/testvg-testlv /users ext4 defaults 0 0