Linux 第七周上课笔记系统分区管理,lvm管理

一.diff命令

difffile file1        ##比较两个文件的不同

-c                    ##显示周围的行

-u                    ##按照一个格式统一输出生成补丁

-r                    ##比较两个目录中文件的不同

patchfile file.path   ##打补丁

-b                    ##备份文件

二.grep过滤命令

grep关键字文件|目录##在文件或目录中查找含有关键字的行

-i                    ##忽略大小写

-n                    ##显示关键字所在行

-c                    ##显示过滤结果的个数

-v                    ##反向过滤

-E   “关键字1|关键字2“    ##过滤多个关键字

-r    目录            ##在目录中查找含有关键字的文件

注意事项:

^关键字            ##以关键字开头

关键字$            ##以关键字结尾

三.cut命令

cut                         ##截取字符

cut    -d    分隔符         ##指定分隔符

cut    -f    1,7            ##显示指定列

cut    -c    1-4            ##显示指定的字符

四.sort排序命令

sort    参数

-n        ##纯数字排序

-u        ##去除重复的

|uniq -c  ##去除重复的并且统计重复的次数

-t        ##指定分隔符

-k        ##指定列

五.uniq命令

sort file |uniq -c ##去除重复的并且统计重复的次数

-d        ##显示重复的行

-u        ##显示唯一的行

六.sed命令

sed     ‘s/原字符/替换字符/g‘    file        ##表示在file文件全文中的某字符替换成令为一个字符

sed    -e ‘策略1‘ -e ‘策略2‘     file        ##-e表示多个动作用一条命令进行

sed    -i    file                            ##把转换后的内容输入到指定文件

sed    ‘3,5s/原字符/替换字符/g‘              ##3到5行替换

sed    xd                                    ##屏蔽指定行,x表示行数

sed    xp                                    ##复制指定行

sed    -nxp                                  ##只显示指定行

七.for do done循环语句

循环显示某个目录的所有文件名称

例如:

for FRUIT in apple banana pear;

do echo "I like $FRUIT" ;

done;

解释:FRUIT是一个循环变量,第一次循环$FRUIT的取值是apple,第二次取值banana,第三次取值取pear,最后依次输出结果

八.管理系统存储

1.分区的划分

[[email protected] ~]# fdisk /dev/vdb

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 0xde2836d8.

Command (m for help): m                            ##帮助

Command action

a   toggle a bootable flag

b   edit bsd disklabel

c   toggle the dos compatibility flag

d   delete a partition                          ##删除分区表

g   create a new empty GPT partition table

G   create an IRIX (SGI) partition table

l   list known partition types                  ##列出系统可用分区类型

m   print this menu

n   add a new partition                            ##新建分区

o   create a new empty DOS partition table

p   print the partition table                    ##显示分区

q   quit without saving changes                    ##退出不保存

s   create a new empty Sun disklabel

t   change a partition‘s system id                    ##修改分区功能id

u   change display/entry units

v   verify the partition table

w   write table to disk and exit                        ##保存更改到分区表中

x   extra functionality (experts only)

Command (m for help): n

Partition type:

p   primary (0 primary, 0 extended, 4 free)              ##分区类型p为主分区

e   extended##分区类型为扩展分区

Select (default p): p                                        ##默认主分区

Partition number (1-4, default 1): ##主分区id

First sector (2048-20971519, default 2048):                 ##此分区的起始位置

Using default value 2048

Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +200M         ##分配分区大小

Partition 1 of type Linux and of size 200 MiB is set

Command (m for help): wq                                        ##保存退出

The partition table has been altered!

Calling ioctl() to re-read partition table.

Syncing disks.

[[email protected] ~]# partprobe                                     ##同步分区表

查看分区情况

fdisk -l 命令

[[email protected] ~]# fdisk -l

Disk /dev/vda: 10.7 GB, 10737418240 bytes, 20971520 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: 0x00013f3e

Device Boot      Start         End      Blocks   Id  System

/dev/vda1   *        2048    20970332    10484142+  83  Linux

【强调说明,上面以行的*号是指的是开机最先读取的446字节】

Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 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: 0xde2836d8

Device Boot      Start         End      Blocks   Id  System

/dev/vdb1            2048      411647      204800   83  Linux

||               ||           ||         ||    ||     ||

引导设备分区起始位置   终止位置    分区大小 id   文件系统类型

2.分区的挂载

[[email protected] ~]# blkid                                 ##查看系统可识别,可用分区

/dev/vda1: UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" TYPE="xfs"

添加挂载 mount /dev/vdb1 /mnt/

mount: /dev/vdb1 is write-protected, mounting read-only

mount: unknown filesystem type ‘(null)‘

[[email protected] ~]# mkfs.xfs /dev/vdb1                            ##将vdb1按照xfs文件系统类型格式化

meta-data=/dev/vdb1              isize=256    agcount=4, agsize=12800 blks

=                       sectsz=512   attr=2, projid32bit=1

=                       crc=0

data     =                       bsize=4096   blocks=51200, imaxpct=25

=                       sunit=0      swidth=0 blks

naming   =version 2              bsize=4096   ascii-ci=0 ftype=0

log      =internal log           bsize=4096   blocks=853, version=2

=                       sectsz=512   sunit=0 blks, lazy-count=1

realtime =none                   extsz=4096   blocks=0, rtextents=0

将分区按照xfs文件系统格式化后,vdb1分区就可以被系统所用

[[email protected] ~]# blkid

/dev/vda1: UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" TYPE="xfs"

/dev/vdb1: UUID="1270e1f2-e607-46de-acc9-5c05cd4692df" TYPE="xfs"

3.查看系统能识别的分区

[[email protected] ~]# cat /proc/partitions

major minor  #blocks  name

253        0   10485760 vda

253        1   10484142 vda1

253       16   10485760 vdb

253       17     204800 vdb1

4.swap分区的管理

在实验中,我新建了一个/dev/vdb2分区,作为swap分区的实验材料

swapon -s##查看系统中的swap分区

建立swap分区

mkswap/dev/vdb2###把/dev/vdb1格式化成swap格式

swapon -a /dev/vdb2##激活

vim /etc/fstab##开机自动激活

/dev/vdb2swapswapdefautls0 0

实验结果:

[[email protected] ~]# swapon -s

FilenameTypeSizeUsedPriority

/dev/vdb2                              partition2047960-1

5.开机自动挂载

vim /etc/fstab##开机自动激活

/dev/vdb1swapswapdefautls0 0

############################################################################

一.磁盘加密

fdisk /dev/vdb                           #添加磁盘

partprobe                                #同步磁盘信息

df#查看挂载

cat /proc/partitions

cryptsetup luksFormat /dev/vdb1            #设置加密密码

#mima:123westos

cryptsetup open /dev/vdb1 westos           ##打开磁盘加密层

mkfs.xfs /dev/mapper/westos                #格式化

mount /dev/mapper/westos /mnt/             #挂载文件,到mnt下

cryptsetup close westos                    #关闭这个加密层

#######开机自动挂载磁盘加密##(永久)##########

vim /etc/crypttab    ##打开配置文件添加参数

解密后设备管理文件设备加密字符存在文件

redhat/dev/vdb1/root/lukspsfile

vim /root/lukspsfile                    ##写入加密文件的密码

chmod 600 /root/lukspsfile##设置权限;只有超级用户才可以看到

cryptsetup luksAddKey /dev/vdb1 /root/lukspsfile         ##将vbd1与文件lukspsfile关联其起来

vim /etc/fstab   #添加开机启动脚本:

/dev/mapper/redhat /mnt xfs defaults 0 0

最后reboot

#######加密清除############

vim /etc/fstab                 #清除之前添加的内容

> /etc/crypttab                #清空文件内容

umount /mnt/                   #把/mnt/卸载掉

cryptsetup close redhat     #关闭加密

mkfs.xfs  /dev/vdb1         #将vdb1格式化

#### Raid磁盘阵列#######

fdisk /dev/vbd               ##添加三个大小相同的磁盘,将文件系统类型改成Linux raid(fd)

mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/vdb{1..3}

说明:表示添加阵列

-C    表示创建, /dev/md0

-a    表示在如果md0不存在的情况下创建md0, yes

-l    表示级别 1级

-n    表示添加工作的磁盘,2个

-x    表示闲置的磁盘 ,1个,(当工作的两个磁盘之一出现故障,立即启动闲置磁盘工作)

最后工作的磁盘

监控命令:watch -n 1 cat /proc/mdstat

###############

mdadm -f /dev/md0 /dev/vdb1        ##手动破坏设备

mdadm -D /dev/md0                    ##设备配置信息

mdadm /dev/md0-f /dev/vdb1            ##损坏设备1

mdadm /dev/md0 -r /dev/vdb1             ##移除设备1

mdadm /dev/md0 -a /dev/vdb1            ##恢复设备1

mdadm -S /dev/md0                        #停止设备

#####lvm 管理########

1.lvm名词解释

lvm逻辑卷,可以让设备自由伸缩的一个设备管理软件

pv物理卷

vg物理卷组

pe物理拓展,lvm最小的存储单元

lvm逻辑卷,时最终我们使用的可以伸缩的设备

2.lvm的制作

fdisk  /dev/vdb

创建两个文件系统类型为lvm的分区(8e)

监控命令: watch -n 1 ‘echo "= pvinfo =";pvs; echo "= vginfo =";vgs;echo "= lvinfo =" ; lvs ; echo "= - =";df -h /mnt ‘

3.lvm的建立

fdisk /dev/vdb

partprobe

fdisk -l

pvcreate /dev/vdb1              #创建物理卷

vgcreate westos /dev/vdb1       #添加物理卷组为westos

lvcreate -L 50M -n lv0 westos   #从westos组中取出一个名字为lv0,大小为50M的内存

mkfs.xfs /dev/westos/lv0       #格式化

mount /dev/westos/lv0 /mnt/     #lv0 挂载到 /mnt

4.lvm设备的扩大

lvextend -L 90M /dev/westos/lv0                 #将lv0扩展到90M

xfs_growfs /dev/westos/lv0                      #扩展文件系统

pvcreate /dev/vdb2#添加新的pv

vgextend westos /dev/vdb2#扩展分区组

lvextend -L 188M /dev/westos/lv0                 #扩展lv

xfs_growfs /dev/westos/lv0                         #扩展文件系统

5.缩减lvm文件系统

xfs文件系统不支持缩减,将xfs格式化为ext4

缩减内存不支持在线缩减,所以必须卸载后在进行缩减

umount /mnt

mkfs.ext4 /dev/westos/lv0                        ##按照ext格式化

e2fsck -f /dev/westos/lv0                        ##检测lv0文件

resize2fs /dev/westos/lv0 77M                    ##缩减lv0到77M

lvreduce -L 77M /dev/westos/lv0

pvmove /dev/vdb1 /dev/vdb2

vgreduce westos /dev/vdb1

pvremove /dev/vdb1

创建快照

umount /mnt/

lvcreate -L 10M -n lv0-backup -s /dev/westos/lv0

mount /dev/westos/lv0-backup  /mnt/

删除所有记录

umount /mnt/

lvremove /dev/westos/lv0-backup

lvremove /dev/westos/lv0

vgremove westos

pvremove /dev/vdb2

pvs

pvremove /dev/vdb1

pvs

用脚本实现磁盘的添加

vim test.sh

在里面填写

#!/bin/bash

fdisk /dev/vdb << end

n

【空格,表示取默认值】

【空格,表示取默认值】

【空格,表示取默认值】

+1G

wq

end

最后运行脚本文件

sh test.sh

c查看结果

fdisk -l

时间: 2024-10-20 11:01:39

Linux 第七周上课笔记系统分区管理,lvm管理的相关文章

Linux第五周上课笔记(1),rpm软件安装,yum源,yum仓库

第五周上课笔记 一.应用软件的安装 1.认识软件:|libmp3lame0|-3.99.3-23|.el7|.x86_64|.rpm 软件名     软件版本   适用系统 64位  红帽适用软件 2.如何安装软件 1.rpm rpm      -vih    name.rpm      安装,-v:显示过程,-h:指定加密方式为哈希加密 -e      name          卸载 -q      name          查询软件生成文件 -qlp  name.rpm        查

Linux 第八周上课笔记(1)vsftpd服务

一.vsftpd服务 1.什么是ftp 答:ftp是一个客户机/服务器系统,用户通过一个支持ftp协议的客户机程序,连接到远程主机上的ftp服务器程序.用户通过客户机程序向服务器程序发出命令.服务器程序执行客户所发出的命令,并将执行的结果反馈给客户机. 二.安装ftp yum install vsftpd lftp -y##安装两个服务 systemctl start vsftpd systemctl stop firewalld systemctl enable vsftpd setenfor

Linux 第十一周上课笔记(2)Apache服务

Apache服务 1.yum install httpd -y 2.yum install httpd-manual -y#安装手册 3.systemctl start httpd 一.修改默认的发布目录 一般来说http服务的默认发布目录在/var/www/html页面中.首先读取首页index.html 如何修改: 1. vim /etc/httpd/conf/httpd.conf 119 # DocumentRoot "/var/www/html"#将原来的默认发布目录注释.方便

Linux 第十周上课笔记(2)smtp服务的部署

SMTP服务的部署 介绍:SMTP(Simple Mail Transfer Protocol)简单邮件传输协议是一种提供可靠且有效电子邮件传输的协议. SMTP 是建模在 FTP 文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供来信有关的通知. 一.环境的部署. 迅速配置dns服务器 这里server虚拟机更名为maillinux.linux.com 将desktop虚拟机更名为 maillyitx.lyitx.com 在server虚拟机上: 1.关闭火墙.selinux

Linux 第十周上课笔记(1) DNS集群的部署

DNS集群的部署 服务器端要作为辅助dns服务器 [辅助dns服务器端] 1.yum install bind -y 2.编写配置文件 vim /etc/named.conf 11         listen-on port 53 { any; }; 17         allow-query     { any; }; 32         dnssec-validation no; 保存退出 vim /etc/named/named.rfc1912.zones zone "localho

Linux 第十一周上课笔记(1)SMTP服务进阶篇

SMTP服务部署-进阶篇 紧接着上周的内容. 一.远程登陆限制 由于当前所有虚拟机都可以远程连接实现发送邮件的服务,很明显这是步安全的. 如何实现登陆限制: 在我的客户机(desktop)上 1.cd /etc/postfix/ 在最后一行添加:拒绝登陆的ip REJECT 如:172.25.254.50 REJECT 2.postmap access #加密文件,这样会生成一个access.db文件 3.postconf -d | grep client #筛选配置项目.并查询 4. post

Linux 第八周上课笔记(2) nfs,ldap网络帐号,autofs自动挂载服务

######################NFS############################ nfs 手动挂载方式 1)yum install nfs-utils 2)showmount -e ip                       ##识别该ip下的共享 3)mount ip:/sharedir /mountpoint        ##挂载点 挂载目录 永久挂载方式 方法一 vim /etc/fstab 172.25.254.250:/nfsshare/nfs1 /m

《Linux内核分析》第七周学习笔记

<Linux内核分析>第七周学习笔记 可执行程序的装载 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 [学习视频时间:1小时35分钟 实验时间:1小时 撰写博客时间:2小时] [学习内容:共享库和动态链接.exec系统调用的执行过程.可执行程序的装载] 一.预处理.编译.链接和目标文件的格式 1.1 可执行程序如何得来?

20165326 java第七周学习笔记

第七周学习笔记 MySQL(数据管理系统)学习 知识点总结: 不能通过关闭MySQL数据库服务器所占用的命令行窗口来关闭MySQL数据库. 如果MySQL服务器和MySQL管理工具驻留在同一台计算机上,主机名可以是localhost或127.0.0.1. JDBC是允许用户在不同数据库之间做选择的一个抽象层.JDBC允许开发者用JAVA写数据库应用程序,而不需要关心底层特定数据库的细节. 查询操作: 向数据库发送SQL查询语句,先用statement声明对象,已创建的连接对象调用creatSta