1、磁盘lvm管理,完成下面要求,并写出详细过程:
1) 创建一个至少有两个PV组成的大小为20G的名为testvg的VG;要求PE大小 为16MB, 而后在卷组中创建大小为5G的逻辑卷testlv;挂载至/users目录
1.准备两个10G的分区
[root@centos6 ~]lsblk
...
sdb 8:16 0 60G 0 disk ├─sdb1 8:17 0 10G 0 part └─sdb2 8:18 0 10G 0 part ... 2.创建pv [root@centos6 ~] pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully created [root@centos6 ~] pvcreate /dev/sdb2 Physical volume "/dev/sdb2" successfully created 3.创建vg [root@centos6 ~]vgcreate -s 16M testvg /dev/sdb{1,2} Volume group "testvg" successfully created [root@centos6 ~] pvs PV VG Fmt Attr PSize PFree /dev/sdb1 testvg lvm2 a--u 10.00g 10.00g /dev/sdb2 testvg lvm2 a--u 10.00g 10.00g [root@centos6 ~] vgs VG #PV #LV #SN Attr VSize VFree testvg 2 0 0 wz--n- 20.00g 20.00g 4.创建lv和文件系统 [root@centos6 ~]lvcreate -n testlv -L 5G testvg Logical volume "testlv" created. [root@centos6 ~]lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert testlv testvg -wi-a----- 5.00g [root@centos6 ~]mkfs.ext4 /dev/testvg/testlv mke2fs 1.41.12 (17-May-2010) 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 Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 39 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. 5.创建/users目录,修改/etc/fstab并挂载 [root@centos6 ~]mkdir /users [root@centos6 ~]blkid ... /dev/mapper/testvg-testlv: UUID="32bd3d97-003a-4d2a-8e8e-e7ebe4decfe0" TYPE="ext4" [root@centos6 ~]vim /etc/fstab 在最后添加一行 UUID="32bd3d97-003a-4d2a-8e8e-e7ebe4decfe0" /users ext4 defaults 0 0 [root@centos6 ~]mount -a [root@centos6 ~]lsblk ... sdb 8:16 0 60G 0 disk ├─sdb1 8:17 0 10G 0 part │ └─testvg-testlv (dm-0) 253:0 0 5G 0 lvm /users └─sdb2 8:18 0 10G 0 part ...
2) 扩展testlv至7G,要求archlinux用户的文件不能丢失
1.扩展
[root@centos6 ~]lvresize -r -L +2G /dev/testvg/testlv
Size of logical volume testvg/testlv changed from 5.00 GiB (320 extents) to 7.00 GiB (448 extents). Logical volume testlv successfully resized. [root@centos6 ~]lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert testlv testvg -wi-ao---- 7.00g 2.检查文件是否丢失 [root@centos6 ~]su - archlinux [archlinux@centos6 ~]pwd /users/archlinux [archlinux@centos6 ~]du -sh /users/archlinux/pam.d /etc/pam.d 236K /users/archlinux/pam.d 236K /etc/pam.d
3) 收缩testlv至3G,要求archlinux用户的文件不能丢失
1.收缩
[root@centos6 ~]umount /dev/testvg/testlv
[root@centos6 ~]e2fsck -f /dev/testvg/testlv
e2fsck 1.41.12 (17-May-2010) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/testvg/testlv: 84/458752 files (0.0% non-contiguous), 64515/1835008 blocks [root@centos6 ~]resize2fs /dev/testvg/testlv 3G resize2fs 1.41.12 (17-May-2010) Resizing the filesystem on /dev/testvg/testlv to 786432 (4k) blocks. The filesystem on /dev/testvg/testlv is now 786432 blocks long. [root@centos6 ~]lvreduce -L 3G /dev/testvg/testlv WARNING: Reducing active logical volume to 3.00 GiB. THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce testvg/testlv? [y/n]: y Size of logical volume testvg/testlv changed from 7.00 GiB (448 extents) to 3.00 GiB (192 extents). Logical volume testlv successfully resized. [root@centos6 ~]mount -a [root@centos6 ~]lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert testlv testvg -wi-ao---- 3.00g 2.检查文件是否丢失 [root@centos6 ~]su - archlinux [archlinux@centos6 ~]pwd /users/archlinux [archlinux@centos6 ~]du -sh /users/archlinux/pam.d /etc/pam.d 236K /users/archlinux/pam.d 236K /etc/pam.d
4) 对testlv创建快照,并尝试基于快照备份数据,验证快照的功能
1.创建快照并挂载
[root@centos6 ~]lvcreate -L 2G -s -n testlv-snapshot -p r /dev/testvg/testlv
Logical volume "testlv-snapshot" created. [root@centos6 ~]mkdir /mnt/snap [root@centos6 ~]mount -o ro /dev/testvg/testlv-snapshot /mnt/snap [root@centos6 ~]lsblk ... sdb 8:16 0 60G 0 disk ├─sdb1 8:17 0 10G 0 part │ ├─testvg-testlv-real (dm-1) 253:1 0 3G 0 lvm │ │ ├─testvg-testlv (dm-0) 253:0 0 3G 0 lvm /users │ │ └─testvg-testlv--snapshot (dm-3) 253:3 0 3G 1 lvm /mnt/snap │ └─testvg-testlv--snapshot-cow (dm-2) 253:2 0 2G 1 lvm │ └─testvg-testlv--snapshot (dm-3) 253:3 0 3G 1 lvm /mnt/snap └─sdb2 8:18 0 10G 0 part 2.测试快照 [root@centos6 ~]ll /users /mnt/snap /mnt/snap: total 20 drwx------. 5 archlinux archlinux 4096 Feb 21 09:28 archlinux drwx------. 2 root root 16384 Feb 21 09:03 lost+found /users: total 20 drwx------. 5 archlinux archlinux 4096 Feb 21 09:28 archlinux drwx------. 2 root root 16384 Feb 21 09:03 lost+found [root@centos6 ~]rm -rf /users/archlinux/ [root@centos6 ~]ll /users /mnt/snap /mnt/snap: total 20 drwx------. 5 archlinux archlinux 4096 Feb 21 09:28 archlinux drwx------. 2 root root 16384 Feb 21 09:03 lost+found /users: total 16 drwx------. 2 root root 16384 Feb 21 09:03 lost+found [root@centos6 ~]umount /dev/testvg/testlv-snapshot [root@centos6 ~]umount /dev/testvg/testlv [root@centos6 ~]lvconvert --merge /dev/testvg/testlv-snapshot Merging of volume testlv-snapshot started. testlv: Merged: 100.0% testlv: Merged: 100.0% Merge of snapshot into logical volume testlv has finished. Logical volume "testlv-snapshot" successfully removed [root@centos6 ~]mount -a [root@centos6 ~]ls /users archlinux lost+found
2、创建一个可用空间为1G的RAID1设备,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup目录
1.准备三个1G的分区
[root@centos6 ~]lsblk
...
sdb 8:16 0 60G 0 disk ├─sdb1 8:17 0 1G 0 part ├─sdb2 8:18 0 1G 0 part └─sdb3 8:19 0 1G 0 part 2.创建 [root@centos6 ~]mdadm -C /dev/md0 -n 2 -l 1 -a yes -x 1 /dev/sdb{1,2,3} [root@centos6 ~]mkfs.ext4 /dev/md0 [root@centos6 ~]mdadm -D -s >> /etc/mdadm.conf [root@centos6 ~]mkdir /backup [root@centos6 ~]blkid ... /dev/sdb1: UUID="79104bf9-d200-1e84-7371-2a7817a67a87" UUID_SUB="6b7d5ac5-9c4b-23ae-d200-ba84e20c7258" LABEL="centos6.xm11211:0" TYPE="linux_raid_member" /dev/sdb2: UUID="79104bf9-d200-1e84-7371-2a7817a67a87" UUID_SUB="99ee0abb-f130-66c2-8ca4-165c50b9ca33" LABEL="centos6.xm11211:0" TYPE="linux_raid_member" /dev/sdb3: UUID="79104bf9-d200-1e84-7371-2a7817a67a87" UUID_SUB="11cc4774-0b52-ff29-f415-e3dd5d5f24aa" LABEL="centos6.xm11211:0" TYPE="linux_raid_member" /dev/md0: UUID="01fa1870-423d-4878-a7b6-d866c2f3b87f" TYPE="ext4" [root@centos6 ~]vim /etc/fstab 在最后添加一行 UUID=01fa1870-423d-4878-a7b6-d866c2f3b87f /backup ext4 defaults 0 0 [root@centos6 ~]mount -a [root@centos6 ~]lsblk sdb 8:16 0 60G 0 disk ├─sdb1 8:17 0 1G 0 part │ └─md0 9:0 0 1G 0 raid1 /backup ├─sdb2 8:18 0 1G 0 part │ └─md0 9:0 0 1G 0 raid1 /backup └─sdb3 8:19 0 1G 0 part └─md0 9:0 0 1G 0 raid1 /backup
3、简述TCP链接建立和断开过程
TCP是一个面向连接的服务,面向连接的服务是电话系统服务模式的抽象,每一次完整的数据传输都必须经过建立连接,数据传输和终止连接三个过程,TCP建立连接的过程称为三次握手,下面说一下三次握手的具体过程:
TCP三次握手过程
- 主机A通过向主机B 发送一个含有同步序列号的标志位的数据段给主机B ,向主机B 请求建立连接,通过这个数据段,主机A告诉主机B 两件事:我想要和你通信;你可以用哪个序列号作为起始数据段来回应我。
- 主机B 收到主机A的请求后,用一个带有确认应答(ACK)和同步序列号(SYN)标志位的数据段响应主机A,也告诉主机A两件事:我已经收到你的请求了,你可以传输数据了;你要用哪佧序列号作为起始数据段来回应我。
- 主机A收到这个数据段后,再发送一个确认应答,确认已收到主机B 的数据段:我已收到回复,我现在要开始传输实际数据了。
这样TCP三次握手就完成了,主机A和主机B 就可以传输数据了。三次握手的特点:没有应用层的数据,SYN这个标志位只有在TCP建产连接时才会被置1,握手完成后SYN标志位被置0。
TCP建立连接要进行三次握手,而断开连接要进行四次,这是由于TCP的半关闭造成的,因为TCP连接是全双工的(即数据可在两个方向上同时传递)所以进行关闭时每个方向上都要单独进行关闭,这个单方向的关闭就叫半关闭.关闭的方法是一方完成它的数据传输后,就发送一个FIN来向另一方通告将要终止这个方向的连接.当一端收到一个FIN,它必须通知应用层TCP连接已终止了这个方向的数据传送,发送FIN通常是应用层进行关闭的结果。
四次断开过程
- 当主机A完成数据传输后,将控制位FIN置1,提出停止TCP连接的请求
- 主机B收到FIN后对其作出响应,确认这一方向上的TCP连接将关闭,将ACK置1
- 由B 端再提出反方向的关闭请求,将FIN置1
- 主机A对主机B的请求进行确认,将ACK置1,双方向的关闭结束。
![](https://i-blog.csdnimg.cn/blog_migrate/7a20f3ac3a7666a436e663f156dde3d0.png)
由TCP的三次握手和四次断开可以看出,TCP使用面向连接的通信方式,大大提高了数据通信的可靠性,使发送数据端和接收端在数据正式传输前就有了交互,为数据正式传输打下了可靠的基础。
讲到这里在来一张全面的图来理解一下:
4、简述TCP和UDP的区别
TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能顺序地从一端传到另一端。
UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,不保证数据按顺序传递,故而传输速度很快。