码迷,mamicode.com
首页 > 系统相关 > 详细

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

时间:2016-11-09 13:28:50      阅读:306      评论:0      收藏:0      [点我收藏+]

标签:关键字   linux   


.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.分区的划分

[root@localhost ~]# 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.

[root@localhost ~]# partprobe                                     ##同步分区表

 

查看分区情况

fdisk -l 命令

[root@localhost ~]# 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.分区的挂载

[root@localhost ~]# 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)‘

[root@localhost ~]# 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分区就可以被系统所用

[root@localhost ~]# blkid

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

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

 

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

[root@localhost ~]# 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

实验结果:

[root@localhost ~]# 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

 


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

标签:关键字   linux   

原文地址:http://12150355.blog.51cto.com/12140355/1870802

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!