1、磁盘lvm管理,完成下面要求,并写出详细过程:
  1) 创建一个至少有两个PV组成的大小为20G的名为testvg的VG;要求PE大小 为16MB, 而后在卷组中创建大小为5G的逻辑卷testlv;挂载至/users目录

      准备两个10G的分区

 [root@Centos7 data]# lsblk -l |grep sdb[-]
sdb1 : 10G part
sdb2 : 10G part

      升级为物理卷

 [root@Centos7 data]# partprobe /dev/sdb

      创建物理卷

 [root@Centos7 data]# pvcreate /dev/sdb1 /dev/sdb2
Physical volume "/dev/sdb1" successfully created.
Physical volume "/dev/sdb2" successfully created.

      创建卷组 指定PE大小

 [root@Centos7 data]# vgcreate -s 16M testvg /dev/sdb1 /dev/sdb2
Volume group "testvg" successfully created

      创建5G的逻辑卷,名称为testlv

 [root@Centos7 data]# lvcreate -n testlv -L 5G testvg
Logical volume "testlv" created.

      查看LV列表

 [root@Centos7 data]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
data centos_centos7 -wi-ao---- .00g
root centos_centos7 -wi-ao---- .00g
swap centos_centos7 -wi-ao---- .00g
testlv testvg -wi-a----- .00g

      创建文件系统

 [root@Centos7 data]# mkfs.ext4 /dev/testvg/testlv
mke2fs 1.42. (-Dec-)
Filesystem label=
OS type: Linux
Block size= (log=)
Fragment size= (log=)
Stride= blocks, Stripe width= blocks
inodes, blocks
blocks (5.00%) reserved for the super user
First data block=
Maximum filesystem blocks=
block groups
blocks per group, fragments per group
inodes per group
Superblock backups stored on blocks:
, , , , , , Allocating group tables: done
Writing inode tables: done
Creating journal ( blocks): done
Writing superblocks and filesystem accounting information: done

      查看UUID

 [root@Centos7 data]# blkid /dev/testvg/testlv
/dev/testvg/testlv: UUID="800ff8eb-8557-4d7f-9b55-e097f957b431" TYPE="ext4"

      创建一个目录并挂载

 [root@Centos7 data]# cd /
[root@Centos7 /]# mkdir users
[root@Centos7 /]# mount /dev/testvg/testlv /users/
[root@Centos7 /]# df -Th |grep "/users"
/dev/mapper/testvg-testlv ext4 .8G 20M .6G % /users

      设置永久挂载

 [root@Centos7 /]# vim /etc/fstab
[root@Centos7 /]# cat /etc/fstab |grep "/users"
UUID=800ff8eb--4d7f-9b55-e097f957b431 /users ext4 defaults
[root@Centos7 /]#

  2) 扩展testlv至7G,要求archlinux用户的文件不能丢失

      新建用户archlinux , 要求其家目录为/users/archlinux,而后su切换至archlinux用户,复制/etc/pam.d目录至自己的家目录

 [root@Centos7 ~]# useradd archlinux -d /users/archlinux
[root@Centos7 ~]# su - archlinux
[archlinux@Centos7 ~]$ cp -av /etc/pam.d/ /users/archlinux/
‘/etc/pam.d/’ -> ‘/users/archlinux/pam.d’
‘/etc/pam.d/config-util’ -> ‘/users/archlinux/pam.d/config-util’
‘/etc/pam.d/other’ -> ‘/users/archlinux/pam.d/other’
‘/etc/pam.d/passwd’ -> ‘/users/archlinux/pam.d/passwd’
‘/etc/pam.d/chfn’ -> ‘/users/archlinux/pam.d/chfn’
‘/etc/pam.d/chsh’ -> ‘/users/archlinux/pam.d/chsh’
‘/etc/pam.d/login’ -> ‘/users/archlinux/pam.d/login’
‘/etc/pam.d/remote’ -> ‘/users/archlinux/pam.d/remote’
‘/etc/pam.d/runuser’ -> ‘/users/archlinux/pam.d/runuser’
‘/etc/pam.d/runuser-l’ -> ‘/users/archlinux/pam.d/runuser-l’
‘/etc/pam.d/su’ -> ‘/users/archlinux/pam.d/su’
‘/etc/pam.d/su-l’ -> ‘/users/archlinux/pam.d/su-l’
‘/etc/pam.d/systemd-user’ -> ‘/users/archlinux/pam.d/systemd-user’
‘/etc/pam.d/polkit-’ -> ‘/users/archlinux/pam.d/polkit-’
‘/etc/pam.d/crond’ -> ‘/users/archlinux/pam.d/crond’
‘/etc/pam.d/vlock’ -> ‘/users/archlinux/pam.d/vlock’
‘/etc/pam.d/ppp’ -> ‘/users/archlinux/pam.d/ppp’
‘/etc/pam.d/vmtoolsd’ -> ‘/users/archlinux/pam.d/vmtoolsd’
‘/etc/pam.d/xserver’ -> ‘/users/archlinux/pam.d/xserver’
‘/etc/pam.d/pluto’ -> ‘/users/archlinux/pam.d/pluto’
‘/etc/pam.d/cups’ -> ‘/users/archlinux/pam.d/cups’
‘/etc/pam.d/gdm-autologin’ -> ‘/users/archlinux/pam.d/gdm-autologin’
‘/etc/pam.d/gdm-fingerprint’ -> ‘/users/archlinux/pam.d/gdm-fingerprint’
‘/etc/pam.d/gdm-launch-environment’ -> ‘/users/archlinux/pam.d/gdm-launch-environment’
‘/etc/pam.d/gdm-password’ -> ‘/users/archlinux/pam.d/gdm-password’
‘/etc/pam.d/gdm-pin’ -> ‘/users/archlinux/pam.d/gdm-pin’
‘/etc/pam.d/gdm-smartcard’ -> ‘/users/archlinux/pam.d/gdm-smartcard’
‘/etc/pam.d/liveinst’ -> ‘/users/archlinux/pam.d/liveinst’
‘/etc/pam.d/sshd’ -> ‘/users/archlinux/pam.d/sshd’
‘/etc/pam.d/setup’ -> ‘/users/archlinux/pam.d/setup’
‘/etc/pam.d/smtp.postfix’ -> ‘/users/archlinux/pam.d/smtp.postfix’
‘/etc/pam.d/smtp’ -> ‘/users/archlinux/pam.d/smtp’
‘/etc/pam.d/atd’ -> ‘/users/archlinux/pam.d/atd’
‘/etc/pam.d/sudo’ -> ‘/users/archlinux/pam.d/sudo’
‘/etc/pam.d/sudo-i’ -> ‘/users/archlinux/pam.d/sudo-i’
‘/etc/pam.d/system-auth-ac’ -> ‘/users/archlinux/pam.d/system-auth-ac’
‘/etc/pam.d/system-auth’ -> ‘/users/archlinux/pam.d/system-auth’
‘/etc/pam.d/postlogin-ac’ -> ‘/users/archlinux/pam.d/postlogin-ac’
‘/etc/pam.d/postlogin’ -> ‘/users/archlinux/pam.d/postlogin’
‘/etc/pam.d/password-auth-ac’ -> ‘/users/archlinux/pam.d/password-auth-ac’
‘/etc/pam.d/password-auth’ -> ‘/users/archlinux/pam.d/password-auth’
‘/etc/pam.d/fingerprint-auth-ac’ -> ‘/users/archlinux/pam.d/fingerprint-auth-ac’
‘/etc/pam.d/fingerprint-auth’ -> ‘/users/archlinux/pam.d/fingerprint-auth’
‘/etc/pam.d/smartcard-auth-ac’ -> ‘/users/archlinux/pam.d/smartcard-auth-ac’
‘/etc/pam.d/smartcard-auth’ -> ‘/users/archlinux/pam.d/smartcard-auth’
[archlinux@Centos7 ~]$ ls /users/archlinux/pam.d/ | wc -l [archlinux@Centos7 ~]$

      查看VG是否有足够可用空间

 [archlinux@Centos7 ~]$ su root
Password:
[root@Centos7 archlinux]# vgs
VG #PV #LV #SN Attr VSize VFree
centos_centos7 wz--n- .00g 4.00m
testvg wz--n- <.97g <.97g

      查看逻辑卷大学

 [root@Centos7 archlinux]# lvs |grep "testlv"
testlv testvg -wi-ao---- .00g

      扩展逻辑卷大小至7G

 [root@Centos7 archlinux]# lvextend -L +2G -r /dev/testvg/testlv
Size of logical volume testvg/testlv changed from 5.00 GiB ( extents) to 7.00 GiB ( extents).
Logical volume testvg/testlv successfully resized.
resize2fs 1.42. (-Dec-)
Filesystem at /dev/mapper/testvg-testlv is mounted on /users; on-line resizing required
old_desc_blocks = , new_desc_blocks =
The filesystem on /dev/mapper/testvg-testlv is now blocks long.

      查看当前逻辑卷和物理卷大小

 [root@Centos7 archlinux]# lvs |grep "testlv"
testlv testvg -wi-ao---- .00g
[root@Centos7 archlinux]# df -Th |grep "testlv"
/dev/mapper/testvg-testlv ext4 .8G 23M .4G % /users

      查看archlinux账户pam.d目录下文件个数

 [root@Centos7 archlinux]# ls /users/archlinux/pam.d | wc -l
 

  3) 收缩testlv至3G,要求archlinux用户的文件不能丢失

        先取消挂载,使之处于离线状态

 [root@Centos7 ~]# umount /dev/testvg/testlv 

        设置文件系统大小

 [root@Centos7 ~]# resize2fs /dev/testvg/testlv 3G
resize2fs 1.42. (-Dec-)
Resizing the filesystem on /dev/testvg/testlv to (4k) blocks.
The filesystem on /dev/testvg/testlv is now blocks long. [root@Centos7 ~]#

        缩减逻辑卷大小,并查看

 [root@Centos7 ~]# 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 ( extents) to 3.00 GiB ( extents).
Logical volume testvg/testlv successfully resized.
[root@Centos7 ~]# lvs |grep "testlv"
testlv testvg -wi-a----- .00g
[root@Centos7 ~]#

        挂载后,查看物理卷大小,查看pam.d目录文件个数

 [root@Centos7 ~]# mount /dev/testvg/testlv /users
[root@Centos7 ~]# df -Th |grep "/users"
/dev/mapper/testvg-testlv ext4 .9G 16M .7G % /users
[root@Centos7 ~]# ls /users/archlinux/pam.d/ | wc -l
44                                      #文件个数没变。表示没丢失数据。登录用户也正常
[root@Centos7 ~]# su archlinux
[archlinux@Centos7 root]$

  4) 对testlv创建快照,并尝试基于快照备份数据,验证快照的功能

        创建大小为1G的只读快照,并查看。

 [root@Centos7 ~]# lvcreate -L 1G -s -n testsnap -p r /dev/testvg/testlv
Logical volume "testsnap" created.
[root@Centos7 ~]# lvs |grep "test"
testlv testvg owi-aos--- .00g
testsnap testvg sri-a-s--- .00g testlv 0.01
[root@Centos7 ~]#

        创建快照目录并挂载

 [root@Centos7 ~]# mkdir /users/testsnap
[root@Centos7 ~]# mount /dev/testvg/testsnap /users/testsnap/
mount: /dev/mapper/testvg-testsnap is write-protected, mounting read-only
[root@Centos7 ~]#

        删除pam.d目录下的g开头文件并查看剩余文件个数,与快照中的文件作对比

 [root@Centos7 ~]# rm -f /users/archlinux/pam.d/g*
[root@Centos7 ~]# ls /users/archlinux/pam.d/ |wc -l [root@Centos7 ~]# ls /users/testsnap/archlinux/pam.d/ |wc -l [root@Centos7 ~]#

        取消挂载,在还原快照文件后查看文件个数。

 [root@Centos7 ~]# umount /users/testsnap/
[root@Centos7 ~]# umount /users
[root@Centos7 ~]# cd /users/
[root@Centos7 users]# tar -zxf /tmp/backup.tar.gz
[root@Centos7 users]# ls users/testsnap/archlinux/pam.d/ |wc -l
44                        
[root@Centos7 users]#

2、创建一个可用空间为1G的RAID1设备,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup目录

      创建raid1 并创建挂载点和文件系统

 [root@Centos7 ~]# lsblk |grep "sdb"
sdb : 20G disk
├─sdb1 : 512M part
├─sdb2 : 512M part
└─sdb3 : 512M part
[root@Centos7 ~]# mdadm -C /dev/md0 -l -n /dev/sdb{,} -x /dev/sdb3
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?
Continue creating array? (y/n) y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
[root@Centos7 ~]# mkdir /backup
[root@Centos7 ~]# mkfs.ext4 /dev/md0
mke2fs 1.42. (-Dec-)
Filesystem label=
OS type: Linux
Block size= (log=)
Fragment size= (log=)
Stride= blocks, Stripe width= blocks
inodes, blocks
blocks (5.00%) reserved for the super user
First data block=
Maximum filesystem blocks=
block groups
blocks per group, fragments per group
inodes per group
Superblock backups stored on blocks:
, , , , , , , Allocating group tables: done
Writing inode tables: done
Creating journal ( blocks): done
Writing superblocks and filesystem accounting information: done [root@Centos7 ~]#

      设置永久挂载

 [root@Centos7 ~]# blkid /dev/md0
/dev/md0: UUID="7708add9-f5c8-48d0-9547-b127f773fbf1" TYPE="ext4"
[root@Centos7 ~]# vim /etc/fstab
[root@Centos7 ~]# mount -a
[root@Centos7 ~]# cat /etc/fstab |grep "backup"
UUID=7708add9-f5c8-48d0--b127f773fbf1 /backup ext4 defaults
[root@Centos7 ~]#

3、简述TCP链接建立和断开过程

  TCP会话的建立

    由于TCP是一个面向连接的协议,发送数据前需要先和接收者提前建立连接,该连接通常称为“会话”。TCP通过三次握手的可靠性机制来建立会话,所谓三次握手是指在TCP会话的建立过程中,总共交换3个TCP控制报文,通过这3个控制报文,保证了TCP会话建立过程的可靠性。TCP三次握手建立过程如下图所示。

    图中假设现在主机A需要向主机B发送TCP数据,首先由主机A发起会话建立,向主机B发送一个设置“SYN”标志位的TCP控制报文,表示想和主机B建立会话连接,报文中的SEQ序列号字段会填充一个0~216范围内的随机数(只有SYN标志位置位的TCP报文才会填充一个随机数),图中的SEQ序列号用0表示。

    主机B收到SYN置位的TCP报文后,知道有人想和自己建立连接,主机B接收SYN报文并向主机A回复一个同时设置了“SYN”和“ACK”标志位的TCP报文,其中的“ACK”表示主机B同意和主机A建立连接,并确认主机A发送的“SYN”报文。而“SYN”表示主机B同时想和主机A建立一个会话连接,这是因为TCP协议是全双工模式,建立一个会话可以实现数据的双向发送。

    报文中的SEQ序列号字段填充一个0~216范围内的随机数,主机B发送的序列号同样用0表示。而确认序列号=接收到的序列+数据长度,有于TCP协议中的控制报文的数据长度也算作一个字节,所以图中的ACK SEQ为1(0+1)。通过确认序列号可以统计出已接收的数据总长度。如上图所示。

    主机A收到主机B发送的“SYN+ACK”后,回复一个“ACK”置位的TCP报文进行确认,回复的ACK报文中,SEQ序列号字段位1(0+1),由于主机A之前发送的SYN报文中的序列号为0,并且已经发送过一个字节数据(SYN报文),所以现在的SEQ序列号为1。通过序列号字段可以统计出发送者已发送的数据总长度。ACK SEQ确认序列号=主机B的发送序列号+数据长度(1=0+1),经过三次握手之后,主机A和主机B建立了两个TCP会话,最终实现数据的双向发送。

  TCP会话的终止

      TCP会话的终止需要经过四次握手断开连接,原因是TCP的会话是双向的,会话两端独立的发送和接收数据,那么终止会话就需要双向断开连接,例如下图所示,主机A和主机B建立TCP会话后两端都开始发送TCP数据,如果现在主机A的数据发送完了,主机A向主机B提出断开连接,这只是单方向的行为,只会断开主机A到主机B的连接,而主机B到主机A的连接环还保持正常,主机B还可以向主机A继续发送数据,如果现在主机B的数据也发送完了,主机B向主机A提出断开连接,连接双向断开后TCP会话终止,TCP协议四次握手终止会话如下图所示。

      下图中,主机A向主机B发送完数据后,主机A断开和主机B的连接,主机A向主机B发送一个FIN置位的TCP控制报文,主机B收到FIN报文后,回复ACK报文确认收到的FIN。由于主机B也没有数据再发送给主机A,随后主机B也向主机A发送一个FIN置位的TCP控制报文,断开和主机A的连接。主机A收到FIN报文后,回复ACK报文确认收到的FIN。

4、简述TCP和UDP的区别

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

Linux入门-第五周的更多相关文章

  1. 20135302魏静静——linux课程第五周实验及总结

    linux课程第五周实验及总结 一.学习总结 给MenuOS增加time和time-asm命令(四步操作命令) rm menu -rf 强制删除git clone http://github.com/ ...

  2. Linux入门-第六周

    1.总结IP地址规划 IP地址的合理规划是网络设计中最重要的一环,在大型网络中必须对IP地址进行统一规划并得到实施.IP地址规划的好坏影响到网络路由协议算法的效率,影响到网络的性能,影响到网络的拓展, ...

  3. linux入门教程(五) Linux系统的远程登录

    首先要说一下,该部分内容对于linux初学者来讲并不是特别重要的,可以先跳过该章节,先学下一章,等学完后再回来看这一章. Linux大多应用于服务器,而服务器不可能像PC一样放在办公室,它们是放在ID ...

  4. Linux入门(五)linux服务器文件远程管理

     1 使用filezila远程管理linux服务器文件 filezila下载地址:https://filezilla-project.org/ filezila默认只能登录普通用户,如果想要root用 ...

  5. Linux入门基础(五):Linux管道,重定向,文本处理

    多命令协作:管道及重定向 在Linux中,大多数命令都很简单,每个命令往往只实现一个或几个很简单功能. 我们可以通过将不同功能的命令组合起来一起使用,达到完成某个复杂功能的目的 CLI下几乎所有的命令 ...

  6. Linux入门-第三周

    1.总结vim命令行模式常见快捷方式,以及vim查找,替换的方法 vim [options] [file ..] +# 打开文件后,让光标处于第#行的行首,(默认行尾) 举例vim +10 /etc/ ...

  7. Linux入门-第八周

    1.用shell脚本实现自动登录机器 #!/usr/bin/expectset ip 192.168.2.192set user rootset password rootspawn ssh $use ...

  8. linux作业--第五周

    1.简述osi七层模型和TCP/IP五层模型 一.OSI参考模型 (1) OSI的来源 OSI(Open System Interconnect),即开放式系统互联. 一般都叫OSI参考模型,是ISO ...

  9. JAVA入门 第五周 1多项式

    1 多项式加法(5分) 题目内容: 一个多项式可以表达为x的各次幂与系数乘积的和,比如: 现在,你的程序要读入两个多项式,然后输出这两个多项式的和,也就是把对应的幂上的系数相加然后输出. 程序要处理的 ...

随机推荐

  1. angular2-模板驱动表单

    app.module.ts 导入 FormsModule  import { NgModule } from '@angular/core'; import { BrowserModule } fro ...

  2. 工作流一期上线原创小故事——【加签】OR【不准】

    亲!您有过选择[加签]还是审核[不准]的烦恼吗? 加签分为:向前加签和向后加签,这个相信大家都很熟悉了吧. 审核分为:准和不准,就是√和×,这个相信大家也很熟悉了. 提示①:相邻的2个人审核时,如果意 ...

  3. Appcan开发之页面布局与CSS排版(转)

    在Appcan开发中,首先要进行的就是页面布局,然后在这个页面上填充数据,加上互动元素,最终构成完整的应用. 因为appcan是使用HTML5+CSS3+JavaScript技术来进行开发,所以与普通 ...

  4. GridCellChoiceEditor

    choice_editor = wx.grid.GridCellChoiceEditor(choices_list, True) grid.SetCellEditor(row, col, choice ...

  5. broadcastemit

    http://code.angularjs.org/1.0.2/docs/api/ng.$rootScope.Scope#$broadcast scope可以以类似于DOM事件的方式进行事件传播.事件 ...

  6. java面试题全集(上)--java基础

    本文转载自:https://blog.csdn.net/jackfrued/article/details/44921941 1.面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: - ...

  7. Azure 9 月新发布

    亲爱的小伙伴们, 我们很高兴向您宣布以下新功能与相关调整,欢迎关注与使用. 1. SQL 数据库弹性池  2. 存储指标更新 3. SQL 数据库 P15 4. Azure 高级存储 5. Wosig ...

  8. Flask入门 flask结构 url_for 重定向(一)

    Flask入门(一) 1 安装虚拟环境Mac,linux sudo pip install virtualenv ​ ubuntu系统 sudo apt-get install python-virt ...

  9. 实现动态代理(Java和spring)

    一.Java实现动态代理 1.创建接口 package com.oyy.mw.biz.i; public interface Cal { public int add(int num1,int num ...

  10. JAVA利用poi获取world文件内容

    本文主要简单介绍了利用poi包,读取world文件内容. 这个依然存在版本的问题,只能读取doc结尾的老版本文件. 话不多说,上代码: import java.io.File; import java ...