第五周作业

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三次握手过程

  1. 主机A通过向主机B 发送一个含有同步序列号的标志位的数据段给主机B ,向主机B 请求建立连接,通过这个数据段,主机A告诉主机B 两件事:我想要和你通信;你可以用哪个序列号作为起始数据段来回应我。
  2. 主机B 收到主机A的请求后,用一个带有确认应答(ACK)和同步序列号(SYN)标志位的数据段响应主机A,也告诉主机A两件事:我已经收到你的请求了,你可以传输数据了;你要用哪佧序列号作为起始数据段来回应我。
  3. 主机A收到这个数据段后,再发送一个确认应答,确认已收到主机B 的数据段:我已收到回复,我现在要开始传输实际数据了。

这样TCP三次握手就完成了,主机A和主机B 就可以传输数据了。三次握手的特点:没有应用层的数据,SYN这个标志位只有在TCP建产连接时才会被置1,握手完成后SYN标志位被置0。

TCP建立连接要进行三次握手,而断开连接要进行四次,这是由于TCP的半关闭造成的,因为TCP连接是全双工的(即数据可在两个方向上同时传递)所以进行关闭时每个方向上都要单独进行关闭,这个单方向的关闭就叫半关闭.关闭的方法是一方完成它的数据传输后,就发送一个FIN来向另一方通告将要终止这个方向的连接.当一端收到一个FIN,它必须通知应用层TCP连接已终止了这个方向的数据传送,发送FIN通常是应用层进行关闭的结果。

 四次断开过程

  1. 当主机A完成数据传输后,将控制位FIN置1,提出停止TCP连接的请求
  2. 主机B收到FIN后对其作出响应,确认这一方向上的TCP连接将关闭,将ACK置1
  3. 由B 端再提出反方向的关闭请求,将FIN置1
  4. 主机A对主机B的请求进行确认,将ACK置1,双方向的关闭结束。
 

由TCP的三次握手和四次断开可以看出,TCP使用面向连接的通信方式,大大提高了数据通信的可靠性,使发送数据端和接收端在数据正式传输前就有了交互,为数据正式传输打下了可靠的基础。

 

讲到这里在来一张全面的图来理解一下:

 

 

4、简述TCP和UDP的区别

     TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能顺序地从一端传到另一端。
  UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,不保证数据按顺序传递,故而传输速度很快。

posted @ 2019-04-22 15:55  N37_shiguoqing  阅读(178)  评论(0编辑  收藏  举报