Linux入门-第五周
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入门-第五周的更多相关文章
- 20135302魏静静——linux课程第五周实验及总结
linux课程第五周实验及总结 一.学习总结 给MenuOS增加time和time-asm命令(四步操作命令) rm menu -rf 强制删除git clone http://github.com/ ...
- Linux入门-第六周
1.总结IP地址规划 IP地址的合理规划是网络设计中最重要的一环,在大型网络中必须对IP地址进行统一规划并得到实施.IP地址规划的好坏影响到网络路由协议算法的效率,影响到网络的性能,影响到网络的拓展, ...
- linux入门教程(五) Linux系统的远程登录
首先要说一下,该部分内容对于linux初学者来讲并不是特别重要的,可以先跳过该章节,先学下一章,等学完后再回来看这一章. Linux大多应用于服务器,而服务器不可能像PC一样放在办公室,它们是放在ID ...
- Linux入门(五)linux服务器文件远程管理
1 使用filezila远程管理linux服务器文件 filezila下载地址:https://filezilla-project.org/ filezila默认只能登录普通用户,如果想要root用 ...
- Linux入门基础(五):Linux管道,重定向,文本处理
多命令协作:管道及重定向 在Linux中,大多数命令都很简单,每个命令往往只实现一个或几个很简单功能. 我们可以通过将不同功能的命令组合起来一起使用,达到完成某个复杂功能的目的 CLI下几乎所有的命令 ...
- Linux入门-第三周
1.总结vim命令行模式常见快捷方式,以及vim查找,替换的方法 vim [options] [file ..] +# 打开文件后,让光标处于第#行的行首,(默认行尾) 举例vim +10 /etc/ ...
- Linux入门-第八周
1.用shell脚本实现自动登录机器 #!/usr/bin/expectset ip 192.168.2.192set user rootset password rootspawn ssh $use ...
- linux作业--第五周
1.简述osi七层模型和TCP/IP五层模型 一.OSI参考模型 (1) OSI的来源 OSI(Open System Interconnect),即开放式系统互联. 一般都叫OSI参考模型,是ISO ...
- JAVA入门 第五周 1多项式
1 多项式加法(5分) 题目内容: 一个多项式可以表达为x的各次幂与系数乘积的和,比如: 现在,你的程序要读入两个多项式,然后输出这两个多项式的和,也就是把对应的幂上的系数相加然后输出. 程序要处理的 ...
随机推荐
- web应用和http协议
一.web应用 Web应用程序是一种可以通过Web访问的应用程序: 程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件. 应用程序有两种模式C/S.B/S. 1.C/ ...
- CSS设计模式之三权分立模式篇 ( 转)
转自 海玉的博客 市面上我们常常会看到各种各样的设计模式书籍,Java设计模式.C#设计模式.Ruby设计模式等等.在众多的语言设计模式中我唯独找不到关于CSS设计模式的资料,即使在网上找到类似内容, ...
- 【代码笔记】XML深入学习:DTD约束与DTD语法(1)
2015-12-27 文件名 student.xml <?xml version="1.0" encoding="GB2312" standalon ...
- Don't forget, a person's greatest emotional need is to feel appreciated.
Don't forget, a person's greatest emotional need is to feel appreciated.莫忘记,人类情感上最大的需要是感恩.
- Personal Geodatabase - Can't Create New or Open Existing
来自:http://forums.arcgis.com/threads/32110-Personal-Geodatabase-Can-t-Create-New-or-Open-Existing Per ...
- hibernate 一览表
- Java—IO流 RandomAccessFile类
RandomAccessFile java提供的对文件内容的访问,既可以读文件,也可以写文件. 支持随机访问文件,可以访问文件的任意位置. java文件模型,在硬盘上的文件是byte byte byt ...
- day011-网络编程
1. 网络编程概述 1.1 网络编程三要素 地址.端口.协议 1.1.1 IP地址:网络中设备的唯一标识. IPV4格式:xxx.xxx.xxx.xxx由四段数字组成,每一段数字由八位二进制数字组成 ...
- Python——追加学习笔记(四)
函数 1.python里的函数可以返回一个值或者对象,知识在返回一个容器对象的时候有点不同,看起来像是能返回多个对象. >>> def bar(): ... return 'abc' ...
- 深入理解linux源码安装三板斧
概述: 根据源码包中 Makefile.in 文件的指示,configure 脚本检查当前的系统环境和配置选项,在当前目录中生成 Makefile 文件(还有其它本文无需关心的文件),然后 make ...