linux运维、架构之路-linux磁盘管理

一、企业中磁盘选购:

1、线上的业务,用SAS磁盘

2、线下的业务,用SATA磁盘,磁带库

3、线上高并发、小容量(多人浏览力图片)的业务,SSD磁盘

4、根据数据的访问热度,智能分析分层存储,SATA+SSD

二、常见磁盘类型与接口类型:SAS 、SATA、 SCSI、 PHI-E

三、磁盘内部原理

1、磁头:用来写入和读取数据,盘面的数量=磁头的数量

2、磁道(Track)

3、扇区:磁道上面的最小单位,默认大小为512字节

4、柱面

5、单元块:表示一个柱面的大小

四、生产环境常用RAID级别:RAID0,RAID1,RAID5,RAID10

1、RAID是磁盘阵列所使用的主要技术。磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组

RAID级别

最少磁盘要求

关键优点

关键缺点

应用场景

RAID0

1块

读写速度很快

没有任何冗余

MySQL Slave,集群的节点

RAID1

2块

100%冗余,镜像

读写一般,成本高

单独服务器,数据重要,且不能宕机的业务,监控系统般等

RAID5

3块

具备一定性能和冗余,可以坏一块盘

写入性能不高

一般的业务都可以使用

RAID10

4块

读写速度都很快,100%冗余

成本高

性能和没队要求很好的业务,MySQL主库和NFS主节点

2、 磁盘分区

①磁盘分区有三种:主分区、扩展分区、逻辑分区

 

     一个硬盘主分区至少有1个,最多4个,扩展分区可以没有,最多1个。且主分区+扩展分区总共不能超过4个。逻辑分区可以有若干个

②磁盘分区命名

sata第一块硬盘 sda

sata第二块硬盘 sdb

sata磁盘第一块硬盘的第一个分区    sda1

sata磁盘第一块硬盘的第一个逻辑    sda5

③MBR主引导扇区,它仅仅包含一个64个字节的硬盘分区表

五、分区工具fdisk、parted

1 、fdisk用法和参数(只能用于小于2T的磁盘分区)

n     (add a new partition)

创建分区

p     (print the partition table)

显示磁盘分区表

d     (delete a partition)

删除一个分区

q     (quit without saving changes)

退出不保存

w     (write table to disk and exit)

退出并保存

新添加一个100M小磁盘:
[root@nfs-server ~]# fdisk -l|egrep "sd[a-z]:"
Disk /dev/sda: 8589 MB, 8589934592 bytes
Disk /dev/sdb: 106 MB, 106954752 bytes
[root@nfs-server ~]# fdisk /dev/sdb
Command (m for help): n           #——>输入n为创建分区
Command action
   e   extended
   p   primary partition (1-4)    #——>输入p选择创建主分区
Partition number (1-4): 1
First cylinder (1-102, default 1): 
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-102, default 102): +50M         #——>为主分区选择大小50M

Command (m for help): w           #——>保存分区修改并退出

2、parted用法和参数(大于2T的磁盘分区需要)

mklabel,mktable LABEL-TYPE

创建磁盘分区表

mkpart PART-TYPE [FS-TYPE] START END

创建分区

print

显示磁盘分区表信息

rm NUMBER

删除一个分区

新添加一个100M小磁盘:
[root@nfs-server ~]# parted /dev/sdb
(parted) mklabel gpt          #——>gpt分区引导,可以解决主分区最多只能有4个的问题
(parted) mkpart lidao 0 50    #——>创建一个分区名为lidao的分区,大小是50M
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? I              #——>忽略警告
(parted) q                    #——>退出,无需保存,即时生效
Information: You may need to update /etc/fstab.
[root@nfs-server ~]# ll /dev/sdb*
brw-rw---- 1 root disk 8, 16 Jul 10 14:53 /dev/sdb
brw-rw---- 1 root disk 8, 17 Jul 10 14:45 /dev/sdb1

小题:创建一个100m分区,挂载到/mnt目录上面

一、使用fdisk创建一个100M分区
[root@nfs-server ~]# fdisk /dev/sdb
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-102, default 1): 
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-102, default 102): +100M
二、通知系统某个磁盘的分区表改变了
[root@nfs-server ~]# partprobe /dev/sdb
三、格式化这个分区
[root@nfs-server ~]# mkfs.ext4 /dev/sdb1
四、挂载/dev/sdb1
[root@nfs-server ~]# mount /dev/sdb1 /mnt/
[root@nfs-server ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3       6.9G  1.5G  5.1G  23% /
tmpfs           242M     0  242M   0% /dev/shm
/dev/sda1       190M   34M  146M  19% /boot
/dev/sdb1        94M  1.6M   88M   2% /mnt
五、文件系统开机自动挂载
方法1、echo "mount /dev/sdb1 /mnt/" >>/etc/rc.local
方法2、放到/etc/fstab配置文件中tail -1 /etc/fstab
/dev/sdb1               /mnt                    ext4    defaults        0 0

3、文件系统及工作中JAVA环境下内存不够用临时增加swap空间

CentOS 5  默认文件系统:ext3

CentOS 6  默认文件系统:ext4

CentOS 7  默认文件系统:xfs

JAVA环境下,内存不够用,如何临时增加swap空间

[root@nfs-server ~]# free –h ——查看当前系统内存使用情况
             total       used       free     shared    buffers     cached
Mem:          482M       120M       362M       232K        13M        34M
-/+ buffers/cache:        72M       409M
Swap:         767M         0B       767M
第一步:创建文件(块)
[root@nfs-server ~]# dd if=/dev/zero  of=/tmp/100m  bs=1M  count=100
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 1.45189 s, 72.2 MB/s
[root@nfs-server ~]# ll -h /tmp/100m 
-rw-r--r-- 1 root root 100M Jul 10 15:51 /tmp/100m
第二步:让这个文件(块)成为swap
[root@nfs-server ~]# mkswap /tmp/100m 
mkswap: /tmp/100m: warning: don't erase bootbits sectors
        on whole disk. Use -f to force.
Setting up swapspace version 1, size = 102396 KiB
no label, UUID=d2e62cdf-1447-439e-91ec-828db8e7158d
第三步:增加系统正在使用的swap
[root@nfs-server ~]# swapon /tmp/100m 
[root@nfs-server ~]# free -h
             total       used       free     shared    buffers     cached
Mem:          482M       354M       127M       232K        30M       219M
-/+ buffers/cache:       105M       377M
Swap:         867M         0B       867M
第四步:开机自动挂载swap
echo "swapon /tmp/100m" >>/etc/rc.local

 

 

posted @ 2017-09-20 16:12  闫新江  阅读(470)  评论(0编辑  收藏  举报