04.10磁盘重点知识

xiaoxiao2021-02-28  93

第一章 线上服务器操作规范


第二章 批量创建用户案例

1. 第一种方法sed

第一种方法:sed [root@Never-downtime ~]# echo stu{01..10}|xargs -n1|sed 's#.*#useradd &;echo 123456|passwd --stdin &#g' useradd stu01;echo 123456|passwd --stdin stu01 useradd stu02;echo 123456|passwd --stdin stu02 useradd stu03;echo 123456|passwd --stdin stu03 useradd stu04;echo 123456|passwd --stdin stu04 useradd stu05;echo 123456|passwd --stdin stu05 useradd stu06;echo 123456|passwd --stdin stu06 useradd stu07;echo 123456|passwd --stdin stu07 useradd stu08;echo 123456|passwd --stdin stu08 useradd stu09;echo 123456|passwd --stdin stu09 useradd stu10;echo 123456|passwd --stdin stu10 第二种方法sed反向引用 [root@Never-downtime ~]# echo stu{01..10}|xargs -n1|sed -r 's#(.*)#useradd \1;echo 123456|passwd --stdin \1#g' useradd stu01;echo 123456|passwd --stdin stu01 useradd stu02;echo 123456|passwd --stdin stu02 useradd stu03;echo 123456|passwd --stdin stu03 useradd stu04;echo 123456|passwd --stdin stu04 useradd stu05;echo 123456|passwd --stdin stu05 useradd stu06;echo 123456|passwd --stdin stu06 useradd stu07;echo 123456|passwd --stdin stu07 useradd stu08;echo 123456|passwd --stdin stu08 useradd stu09;echo 123456|passwd --stdin stu09 useradd stu10;echo 123456|passwd --stdin stu10 第三种方法awk [root@Never-downtime ~]# echo stu{01..10}|xargs -n1|awk '{print "useradd "$NF ";echo 123456|passwd --stdin "$NF}' useradd stu01;echo 123456|passwd --stdin stu01 useradd stu02;echo 123456|passwd --stdin stu02 useradd stu03;echo 123456|passwd --stdin stu03 useradd stu04;echo 123456|passwd --stdin stu04 useradd stu05;echo 123456|passwd --stdin stu05 useradd stu06;echo 123456|passwd --stdin stu06 useradd stu07;echo 123456|passwd --stdin stu07 useradd stu08;echo 123456|passwd --stdin stu08 useradd stu09;echo 123456|passwd --stdin stu09 useradd stu10;echo 123456|passwd --stdin stu10

最后都交给|bash处理。


第三章 磁盘简介

当今磁盘的发展趋势是体积更小、速度更快、容量更大、使用更安全。实现这些特性,我们可爱的磁盘设计工程师们采取改进的方法有:研究读写更灵敏的磁头、更先进的接口类型、提升主轴电机的转数、存储密度更高的磁盘盘片及更有效的数据保持技术等。

1. 速度更快 【主轴】转数:5400/7200/10000/1500 RPM (round per minute 每分钟多少转) 接口(硬盘与主板连接方式):ide/scsi/sata/sas/ssd/pci-e/m.2 磁盘缓存 读写更灵敏的磁头

2. 磁盘小结 (1)Linux系统的特性是将系统不用的物理内存作为缓存区或缓冲区使用(把你使用过的命令),因此,129不是系统的真实内存 (2)系统真正系统可用内存是215M (3)buffers为吸入缓冲区,sync将缓冲区数据写入磁盘。 (4)cache为读取数据的缓存区。 (5)硬盘是机械的,无论是写入还是读取都太慢了,所以读取和写入都是用了缓存及缓冲技术。 (6)门户架构网站都会用缓存技术,来让用户写入读取尽可能不接触磁盘(从缓存读取),或者说把用户的请求尽可能往前推。 (7)读取缓存 写入缓冲。

[root@CentOS7 ~]# free -h total used free shared buff/cache available Mem: 1.9G 562M 715M 11M 707M 1.2G Swap: 1.0G 0B 1.0G


第四章 磁盘接口类型

1. 磁盘结构种类: 磁盘接口是磁盘与主机系统间的连接部件,作用是在磁盘缓存和主机内存之间传输数据。不同的磁盘接口决定着磁盘与计算机之间的连接速度,在整个系统中,磁盘接口的优劣直接影响着程序运行快慢和系统性能好坏。从整体的角度上,磁盘接口分为IDE、SATA、SCSI、SAS、PCI-E和光纤FC通道四种,IDE接口磁盘早期多用于家用产品中,部分应用于服务器,SCSI接口的磁盘早期则主要应用于服务器市场,而光纤通道只在高端服务器(专用的存储emc)上,价格昂贵,SATA是种新生的磁盘接口类型,已经逐渐取代IDE及SCSI接口,在家用市场和服务器市场都是逐渐流行的态势。

**企业生产环境主流磁盘的相关信息对比: 企业生产场景普及程度:SAS> SATA> SSD 单位容量对比性能和价格:SSD> SAS> SATA 单位价格购买磁盘容量:SATA> SAS> SSD**

2. ssd磁盘: 固态磁盘(Solid State Drive、IDE ELASH DISK),由控制单元和存储单元(FLASH芯片)组成,简单的说就是用固态电子存储芯片阵列而制成的磁盘,,固态磁盘的接口规范和定义、功能及使用方法上与普通磁盘的相同,在产品外形和尺寸上也与普通磁盘一致。其芯片的工作温度范围很宽(-40~85℃)。目前广泛应用于军事、车载、工控、视频监控、网络监控、网络终端、电力、医疗、航空、导航设备等领域。虽然目前成本较高,但也正在逐渐普及到DIY市场。

3. SSD固态硬盘接口类型

4. SSD固态磁盘缺点:

5. SSD固态磁盘与传统机械磁盘优劣对比:


第五章 服务器硬盘的类型

1. 企业级SAS硬盘(默认) DEll,HP,IBM等,其中DELL,HP 是互联网公司的主流服务器,这两个品牌的服务器,这两个品牌的服务器,这两个品牌的服务器综合的性价比比较高。百度很多用IBM的服务器。当前服务器市场:主流磁盘为SAS、SATA、SSD。 企业里最常见的SAS硬盘是15000转/分(这里就是主轴的转数)。当前主流300G、600G、1000G、从具体的业务需求及性价比考虑。 用途:用于提供生产线上(工作环境 线上环境)的普通对外提供服务的业务服务器:生产线上的数据库业务、存储业务、图片业务及相关高并发业务(web http cache服务等),总的来说,如果没有特殊业务需求,SAS磁盘是生产环境首选的磁盘配置。

2. 企业级SATA硬盘 企业级SATA硬盘7200-10000转/分,常见的容量为1T 2T 4T 6T ,优点是经济实惠,容量大,性价比高。 线下不提供服务的数据存储或者并业务访问不是很大的业务应用。比如站点程序及数据库、图片的线下备份等。 特性:容量性价比高,一般2T的SATA磁盘较佳。硬盘


第六章 磁盘选购小结

(1)线上的业务,用SAS磁盘。 (2)线下的业务,用SATA磁盘,磁带库 (3)线上高并发、小容量(很多人都想看的图片)的业务,SSD磁盘。 (4)成本思想:根据数据的访问热度,只能分析分层存储。SATA+SSD


第七章 磁盘相关名词

1. 磁盘名词翻译

2. 磁盘的磁头 磁盘的每个盘片的每个有效盘面都会有一个读写磁头(磁头数==盘面数量==盘片个数*2) 系统的引导程序就在0柱面0磁道1扇区的前446Bytes MBR 0磁头 0磁道 1扇区前446(字节)Bytes

3. 磁盘的计算

方法1 [root@Never-downtime ~]# python >>> 63*1305*255*512 10733990400 方法二 [root@Never-downtime ~]# echo 255*63*1305*512|bc 10733990400 方法三 [root@Never-downtime ~]# awk 'BEGIN{print 255*63*1305*512}' 10733990400

4. 磁盘的柱面 一个磁盘所有的盘面上同一个半径相同的磁道的圆形轨迹 从上到下依次组成一个圆柱体,就称做柱面。 柱面的数量==磁道的数量

5. 磁盘的扇区 操作系统是以扇区(Sector)为单位将信息存储在硬盘上,一般情况下,每个扇区的大小是512字节。一个扇区主要有两部分内容:存储数据地点的标识和存储数据的数据段。

6. 重点总结 (1)一块磁盘有2-14个盘片,每个盘片有两个面,每个面对应一个读写磁头,用磁头号来区分盘面,即盘面数就是磁头数,盘片数*2=磁头数(盘面数)。 (2)同一个盘面,以盘片中心为圆心,每个不同半径的圆行轨迹(不同的呼啦圈)就是一个磁道。 (3)不同盘面的磁道被划分为多个扇形区域,每个区域就是一个扇区。 (4)一个柱面包含多个磁道,一个磁道包含多个扇区。 (5)数据信息记录可表示为:三个条件,某磁头、某磁道、某扇区。


第八章 磁盘容量的计算方法

#位bit(b) #1字节=8位 #字节byte(B) #1KB=1024字节(B) #1MB=1024KB=1024^2(B) #1GB=1024MB=1024^2 KB=1024^3 B #1TB=1024^4 B 硬盘容量大小=扇区数量*512=扇区数*512*柱面数*磁头数


第九章 RAID阵列

1. RAID意义 RAID是一种多块独立的物理磁盘按不同的raid级别组合起来形成一个磁盘组,在逻辑上看起来是一个大的磁盘,可以提供比单个物理磁盘容量或更高的存储性能。同时又能提供不同级别数据冗余备份的一种技术。 (1)提供数据安全性。 (2)提升数据读写性能。 (3)提供更大的单一逻辑磁盘数据容量存储。

RAID级别关键优点关键缺点实际应用场景RAID 0读写速度快没有任何冗余MYSQL slave集群的节点RSRAID 1100%冗余 镜像读写性能一般,成本高数据重要 且不能宕机的业务RAID 5具备一定性能和冗余 可坏一块写入性能不高一般的业务都可用RAID 10读写速度很快,100%冗余成本高性能和冗余要求很好的业务。数据主库和存储的主节点

1. RAID0 它在所有RAID级别中具有最高的存储性能(磁盘容量不浪费,读写很快)。 RAID 0提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求,这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能。

要制作RAID 0至少要1块物理磁盘,例如dell服务器带有raid卡,如果不做raid就不能使用磁盘,除非将磁盘直接接入主板,因此将一块盘做raid 0使用。

关注点描述容量是5块盘加在一起的容量,在所有RAID级别中具有最高的存储性能,原理是把连续的数据分散到多个磁盘上存取。性能理论上磁盘读写速度比单盘提升5倍,但由于总线带宽等多种因素的影响,实际的提升速率肯定会理论值,但是,大量数据并行传输与串行传输比较,提速效果显然毋庸置疑,磁盘越多倍数越小。冗余无任何冗余,坏1块盘,整个RAID就都不能用了。场合适合于当规模并发读写,但对数据安全性要求不高的情况,如MySQL Slave(数据库从库),集群的节点RS特点速度快,无冗余,容量无损失。


2. RAID1 RAID 1又称镜像,它的宗旨是最大限度的保证用户数据的可用性和可修复性,操作方式是把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上,从而实现存储双份的数据。

只支持两块盘,整个RAID大小等于两个磁盘中最小的那块容量,因此,最好使用同样大小的磁盘。在存储时同时写入凉快磁盘,实现数据完成备份,但相对降低了写入性能,但是读取数据时可以并发,相当于两块RAID 0的读取效率。

关注点描述容量损失50%的数据容量。性能不能提高存储性能,理论上写性能和单盘相差不大。冗余在所有RAID级别中,RAID 1提供最高的数据安全保障,冗余度100%。场合适合于存放重要数据,如服务器系统分区和对性能要求不够的数据库存储等领域。特点100%冗余,容量损失一半。


3. RAID5 RAID 5是一种存储性能、数据安全和存储成本兼顾的存储解决方案。 RAID 5需要三块或以上的物理磁盘,可以提供热备盘奇偶校验,可靠性强,只有同时损坏2块盘是数据才会损坏,只损坏1块盘,系统会根据存储的奇偶校验位重建数据,临时提供服务,此时如果有热备盘,系统还会自动在热备盘上重建故障磁盘上的数据。

关注点描述容量损失一块盘的数据容量 10*600G 9*66G性能RAID 5和RAID 10 相近的数据读取速度,只是多了个奇偶校验信息冗余可损失一块盘,RAID 5数据安全保障程度比RAID 1低而磁盘空间利用率要比RAID 1高场合RAID 5可以理解为是RAID 0和RAID 1的折中方案,适合对性能和冗余都有一定要求,又都不是十分高的情况。 MySQL的主从库都可以,存储也可以,普通的服务器为了减少维护成本,又保持一定冗余和读性能都可以做RAID 5特点容量损失一块盘,写数据通过奇偶校验,RAID 0和RAID 1的折中方案。


4. RAID10 最少需要4块盘,相当于RAID 0 和RAID 1的综合版,100%的冗余

5. RAID小结

RAID级别最少磁盘要求关键优点关键缺点实际应用场景RAID 01块读写速度快没有任何冗余MySQL SlaveRAID 12块(只能)100冗余 镜像读写性能一般,成本高单独的,数据很重要,且不能宕机的业务RAID 53块具有一定性能和冗余,可以坏一块盘,读性能不错写入性能不高一般的业务都可以用RAID 104块读写速度很快 100冗余成本高性能和冗余要求很好的业务,数据库主库和存储的主节点。

第十章 磁盘分区mbr重点

1. 磁盘分区工具 (1)给磁盘分区的实质就是针对上述0磁头0磁道1扇区的前446字节后面接下来的64bytes的分区表进行设置。即主要划分起始以及结束磁头号、扇区号及柱面号 (2)给磁盘分区的工具有fdisk(适合给小于2T的磁盘分区,适合mbr分区表),parted(擅长给大于2T磁盘分区,可以对小于2T的磁盘分区,适合gpt格式分区表),首选fdisk,只有大于2T时才去选parted。 (3)一块磁盘的分区表仅有64个bytes大小,每个主分区/扩展分区的分区表要占用16个字节,因此一块磁盘仅支持四个分区表信息,即主分区+扩展分区的总量不超过4个。 (4)磁盘分区是按照柱面来划分的(从磁盘读写原理角度可以理解)。 (5)扩展分区不能直接使用的,还需要在扩展分区的基础上创建逻辑分区才行。 (6)扩展分区有自己的分区表,因此,扩展分区下面的逻辑分区可以有多个。磁盘在使用前一般需要进行分区,当然如果不分区直接格式化使用也是没问题的,但这不是常见情况。磁盘分区有主分区、扩展分区和逻辑分区之分。一块磁盘最多可以有4个分区表信息(磁盘本身限制),其中一个主分区的位置可以用一个扩展分区替换,且一块硬盘只能有一个扩展分区(操作系统限制),在这个扩展分区内可以划分多个逻辑分区(IDE磁盘逻辑分区大概编号可以是5-63)。SATA(编号5-15)

2. 企业案例 一台服务器6块600G的磁盘,raid5后,总大小3T,此时无法装系统?请问为什么?

方法1:做raid5后,不要重启装系统,而是再raid界面,继续分1个小的虚拟磁盘vd200G。用这个200G的虚拟磁盘装系统,装完系统后再把剩余的2.8T分区通过parted。

方法2:先拿1块raid 0 ,剩下5块在做raid 5 。在raid0上装系统。

方法3:装系统时,会默认变化分区表为gpt即可安装系统。

3. 磁盘分区注意事项 主分区:最多只能有4个主分区,分区表限制64字节。/dev/sda1 /dev/sda2 /dev/sda3 /dev/sda4 扩展分区:如果划分更多的分区,必须创建扩展分区,不能直接使用,之后创建逻辑分区才能使用。 主分区+扩展分区 最多4个。

P–primary 主分区 E–extended 扩展分区 L–logical 逻辑分区

一块硬盘的分区方式只能为如下组合之一: (1)任意多个主分区,但要求1≤主分区数量≥4 例如:一个硬盘可以分为4个主分区3个主分区2个主分区或1个主分区。 (2)扩展分区可以和主分区组合,但要求2≤(主分区+扩展分区)数量≤4) 例如3个主分区: 3个主分区+1个扩展分区 2个主分区+1个扩展分区 1个主分区+1个扩展分区 当总分区的数量大于4个的时候,必须提前一个扩展分区,扩展分区最多只能有一个。 P+P+P+P P+P+P+E

5. 门户大网站(留作创建扩展) /boot 200M 主分区 swap 1.5倍 主分区 /50-200G 主分区 剩余空间不在进行分区,保留,将来哪个把分用,就自己根据需求再分,====扩展分区下分逻辑分区。

6. 网站节点(数据不是很重要) /boot 200M 主分区 swap 1.5倍 8G以内 主分区 /给全部 主分区

7. 单独建数据分区(数据很重要) /boot 200M 主分区 swap 1.5倍 主分区 /40-200G 主分区 /data 剩余所有

8. 磁盘分区的设备名 在Linux系统中,是通过设备名来访问设备的,设备名存放在/dev目录中。 设备名称的定义规则如下,其他的分区可以以此类推:

##系统的第一块IDE接口的硬盘称为/dev/had。 ##系统的第二块IDE接口的硬盘称为/dev/hdb。 ##系统的第一块SCSI接口的硬盘称为/dev/sdb。 ##系统的第二块SCSI接口的磁盘称为/dev/sdb。

SATA,SAS都是sd开头。 每个分区则使用磁盘名称加对应的数字编号表示,如:

##系统的第一块IDE接口的第1个分区硬盘称为/dev/had1。 ##系统的第一块IDE接口的第5个分区硬盘称为/dev/hdb5。 ##系统的第二块SCSI接口的第1个分区硬盘称为/dev/sdb1。 ##系统的第二块SCSI接口的第5个分区磁盘称为/dev/sdb5。

9. 企业案例 假如我有一块SAS硬盘,我想要把磁盘分成6个可以使用的磁盘分区,那么每个磁盘分区在Linux系统下的数字编号是多少?

(1)P+E sda1 sda5 sda6 sda7 sda8 sda9 (2)P+P+E sda1 sda2 sda5 sda6 sda7 sda8 (3)P+P+P+E sda1 sda2 sda3 sda5 sda6 sda7

第十一章 fdisk分区工具

1. 创建环境

虚拟机添加硬盘→指定磁盘类型SCSI→设定磁盘空间大小→添加完成→重启reboot

2. 查看磁盘信息

[root@Never-downtime ~]# fdisk -l Disk /dev/sda: 10.7 GB, 10737418240 bytes 255 heads, 63 sectors/track, 1305 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00073277 系统主硬盘sda Device Boot Start End Blocks Id System /dev/sda1 * 1 26 204800 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 26 124 786432 82 Linux swap / Solaris Partition 2 does not end on cylinder boundary. /dev/sda3 124 1306 9493504 83 Linux 系统第二块硬盘sdb [root@Never-downtime ~]# fdisk -cu /dev/sdb Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0x7e1aac90. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): p Disk /dev/sdb: 106 MB, 106954752 bytes 64 heads, 32 sectors/track, 102 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x7e1aac90 Device Boot Start End Blocks Id System

3. 查看帮助h

Command (m for help): h h: unknown command Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition 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 u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only)

4. 显示分区情况p

Command (m for help): p Disk /dev/sdc: 213 MB, 213909504 bytes 64 heads, 32 sectors/track, 204 cylinders, total 417792 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 identifier: 0xdba2afab Device Boot Start End Blocks Id System Command (m for help): p Disk /dev/sdc: 213 MB, 213909504 bytes 64 heads, 32 sectors/track, 204 cylinders, total 417792 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 identifier: 0xdba2afab Device Boot Start End Blocks Id System /dev/sdc1 2048 43007 20480 83 Linux

5. 添加主分区sdb1

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): +10M Command (m for help): p Disk /dev/sdb: 106 MB, 106954752 bytes 64 heads, 32 sectors/track, 102 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x7e1aac90 Device Boot Start End Blocks Id System /dev/sdb1 1 11 11248 83 Linux

6. 添加扩展分区sdb2

Command (m for help): n Command action e extended p primary partition (1-4) e Partition number (1-4): 2 First cylinder (12-102, default 12): Using default value 12 Last cylinder, +cylinders or +size{K,M,G} (12-102, default 102): Using default value 102 Command (m for help): p Disk /dev/sdb: 106 MB, 106954752 bytes 64 heads, 32 sectors/track, 102 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x7e1aac90 Device Boot Start End Blocks Id System /dev/sdb1 1 11 11248 83 Linux /dev/sdb2 12 102 93184 5 Extended Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. [root@Never-downtime ~]# fdisk -l Disk /dev/sda: 10.7 GB, 10737418240 bytes 255 heads, 63 sectors/track, 1305 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00073277 Device Boot Start End Blocks Id System /dev/sda1 * 1 26 204800 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 26 124 786432 82 Linux swap / Solaris Partition 2 does not end on cylinder boundary. /dev/sda3 124 1306 9493504 83 Linux Disk /dev/sdb: 106 MB, 106954752 bytes 64 heads, 32 sectors/track, 102 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x7e1aac90 Device Boot Start End Blocks Id System /dev/sdb1 1 11 11248 83 Linux /dev/sdb2 12 102 93184 5 Extended

7. 系统重新读取分区

使用partprobe可以不用重启系统即可配合fdisk工具创建新的分区。 [root@Never-downtime ~]# partprobe /dev/sdc

8. 格式化并创建文件系统

[root@Never-downtime ~]# mkfs.ext4 /dev/sdb1 mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=1024 (log=0) Fragment size=1024 (log=0) Stride=0 blocks, Stripe width=0 blocks 25896 inodes, 103424 blocks 5171 blocks (5.00%) reserved for the super user First data block=1 Maximum filesystem blocks=67371008 13 block groups 8192 blocks per group, 8192 fragments per group 1992 inodes per group Superblock backups stored on blocks: 8193, 24577, 40961, 57345, 73729 Writing inode tables: done Creating journal (4096 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 28 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.

9. 取消文件自动检查

[root@Never-downtime ~]# tune2fs -c -1 -i -1 /dev/sdb1 tune2fs 1.41.12 (17-May-2010) Setting maximal mount count to -1 Setting interval between checks to 18446744073709465216 seconds

10. 临时挂载并查看

[root@Never-downtime ~]# mount -t ext4 /dev/sdb1 /mnt/ [root@Never-downtime ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 8.8G 1.6G 6.8G 19% / tmpfs 931M 0 931M 0% /dev/shm /dev/sda1 190M 38M 142M 22% /boot /dev/sdb1 94M 1.6M 88M 2% /mnt

第十二章 parted分区工具

1. 查看新添加的磁盘

[root@Never-downtime ~]# parted -l Model: VMware, VMware Virtual S (scsi) Disk /dev/sda: 10.7GB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags 1 1049kB 211MB 210MB primary ext4 boot 2 211MB 1016MB 805MB primary linux-swap(v1) 3 1016MB 10.7GB 9721MB primary ext4

2. 创建分区表

[root@Never-downtime ~]# parted /dev/sdc GNU Parted 2.1 Using /dev/sdc Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) h align-check TYPE N check partition N for TYPE(min|opt) alignment check NUMBER do a simple check on the file system cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another partition help [COMMAND] print general help, or help on COMMAND mklabel,mktable LABEL-TYPE create a new disklabel (partition table) mkfs NUMBER FS-TYPE make a FS-TYPE file system on partition NUMBER mkpart PART-TYPE [FS-TYPE] START END make a partition mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system move NUMBER START END move partition NUMBER name NUMBER NAME name partition NUMBER as NAME print [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a particular partition quit exit program rescue START END rescue a lost partition near START and END resize NUMBER START END resize partition NUMBER and its file system rm NUMBER delete partition NUMBER select DEVICE choose the device to edit set NUMBER FLAG STATE change the FLAG on partition NUMBER toggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBER unit UNIT set the default unit to UNIT version display the version number and copyright information of GNU Parted (parted) mklabel gpt (parted) p Model: VMware, VMware Virtual S (scsi) Disk /dev/sdc: 10.5MB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags (parted)

3. 创建分区表并查看

(parted) mkpart primary 0 5M Warning: The resulting partition is not properly aligned for best performance. Ignore/Cancel? I (parted) p Model: VMware, VMware Virtual S (scsi) Disk /dev/sdc: 10.5MB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 17.4kB 5000kB 4983kB primary (parted) mkpart primary 5 10M Warning: The resulting partition is not properly aligned for best performance. Ignore/Cancel? I (parted) p Model: VMware, VMware Virtual S (scsi) Disk /dev/sdc: 10.5MB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 17.4kB 5000kB 4983kB primary 2 5000kB 10.5MB 5469kB primary (parted) q Information: You may need to update /etc/fstab.

4. 删除分区并创建一个分区

(parted) rm Partition number? 1 (parted) p Model: VMware, VMware Virtual S (scsi) Disk /dev/sdc: 10.5MB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 2 5000kB 10.5MB 5469kB primary (parted) rm Partition number? 2 (parted) p Model: VMware, VMware Virtual S (scsi) Disk /dev/sdc: 10.5MB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags (parted) mkpart primary 0 10M Warning: The resulting partition is not properly aligned for best performance. Ignore/Cancel? I (parted) p Model: VMware, VMware Virtual S (scsi) Disk /dev/sdc: 10.5MB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 17.4kB 10.5MB 10.5MB ext4 primary

5. 系统重新读取分区

[root@Never-downtime ~]# partprobe /dev/sdc1

6. 格式化并创建文件系统

[root@Never-downtime ~]# mkfs.ext4 /dev/sdc1 mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=1024 (log=0) Fragment size=1024 (log=0) Stride=0 blocks, Stripe width=0 blocks 2560 inodes, 10204 blocks 510 blocks (5.00%) reserved for the super user First data block=1 Maximum filesystem blocks=10485760 2 block groups 8192 blocks per group, 8192 fragments per group 1280 inodes per group Superblock backups stored on blocks: 8193 Writing inode tables: done Creating journal (1024 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 30 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.

7. 取消文件系统自动检查

[root@Never-downtime ~]# tune2fs -c -1 -i -1 /dev/sdc1 tune2fs 1.41.12 (17-May-2010) Setting maximal mount count to -1 Setting interval between checks to 18446744073709465216 seconds

8. 临时挂载并查看

[root@Never-downtime ~]# mount /dev/sdc1 /tmp/ [root@Never-downtime ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 8.8G 1.6G 6.8G 19% / tmpfs 931M 0 931M 0% /dev/shm /dev/sda1 190M 38M 142M 22% /boot /dev/sdc1 94M 1.6M 88M 2% /tmp /dev/sdb1 94M 1.6M 88M 2% /tmp

第十三章 开机自动挂载

方法1: 把mount /dev/sdb1 /mnt 放入/etc/rc.local,适合网络文件系统,NFS,MFS,GFS。

方法2: 按照fstab的格式加入上述挂载信息。/etc/fstab,适合本地磁盘。

要挂在的设备 UUID=c66c5981-de35-454a-9634-179b07cbdbfd / xfs defaults 0 0 UUID=a7c3eb19-e720-44ab-94a1-b40c534e91f8 /boot xfs defaults 0 0 UUID=83334dcd-fe5e-4312-aac2-43ac2c2999d7 swap swap defaults 0 0 /dev/sdb1 /mnt xfs 0 0

第十四章 fdisk与parted区别

传统的MBR(Master Boot Record)分区方式,有一个局限: 无法支持超过2TB的硬盘的分区(或单个分区超过2TB) 如果大于2T就用GPT(Globally Unique Identifier Partition Table Format)分区的概念 GPT分区表很好的解决了传统MBR无法逾越2TB的限制 但是再Linux系统之中,传统的fdisk命令无法支持gpt分区方式

parted的操作都是实时的,也就是说你执行了一个分区的命令,他就实实在在地分区了,而不是像fdisk那样,需要执行w命令写入所做的修改,所以进行parted的测试千万注意不能在生产环境中!!!

parted支持gpt分区表,可以对大于2T的磁盘分区。

parted分区直接生效,不需要使用命令写入磁盘,最好partprobe /dev/sdb

fdisk用于小于2TB磁盘。

格式化挂载等和fdisk无区别。


第十五章 java企业案例

swap虚拟内存 Linux中Swap(即:交换分区),类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。Android是基于Linux的操作系统,所以也可以使用Swap分区来提升系统运行效率[1] 。 交换分区,英文的说法是swap,意思是“交换”、“实物交易”。它的功能就是在内存不够的情况下,操作系统先把内存中暂时不用的数据,存到硬盘的交换空间,腾出内存来让别的程序运行,和Windows的虚拟内存(pagefile.sys)的作用是一样的。

SWAP就是LINUX下的虚拟内存分区,它的作用是在物理内存使用完之后,将磁盘空间(也就是SWAP分区)虚拟成内存来使用[1] 。 它和Windows系统的交换文件作用类似,但是它是一段连续的磁盘空间,并且对用户不可见。 需要注意的是,虽然这个SWAP分区能够作为”虚拟”的内存,但它的速度比物理内存可是慢多了,因此如果需要更快的速度的话,并不能寄厚望于SWAP,最好的办法仍然是加大物理内存。SWAP分区只是临时的解决办法.

java环境内存充足但是占用swap?

[root@oldboyedu-35 ~]# dd if=/dev/zero of=/tmp/swap bs=1M count=128 128+0 records in 128+0 records out 134217728 bytes (134 MB) copied, 2.87742 s, 46.6 MB/s [root@oldboyedu-35 ~]# mkswap /tmp/swap mkswap: /tmp/swap: warning: don't erase bootbits sectors on whole disk. Use -f to force. Setting up swapspace version 1, size = 131068 KiB no label, UUID=c075a67b-4c8a-4a57-afb5-ef5a711c29b0 [root@oldboyedu-35 ~]# free -h total used free shared buffers cached Mem: 980M 415M 564M 252K 15M 265M -/+ buffers/cache: 135M 845M Swap: 868M 0B 868M [root@oldboyedu-35 ~]# swapon /tmp/swap [root@oldboyedu-35 ~]# free -h total used free shared buffers cached Mem: 980M 415M 564M 252K 15M 265M -/+ buffers/cache: 135M 845M Swap: 996M 0B 996M [root@Never-downtime ~]# umount /dev/sdb1 [root@Never-downtime ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 8.8G 1.5G 6.9G 18% / tmpfs 931M 0 931M 0% /dev/shm /dev/sda1 190M 38M 142M 22% /boot [root@Never-downtime ~]# mkswap /dev/sdb1 Setting up swapspace version 1, size = 103420 KiB no label, UUID=efb60fab-8c4f-4a7f-a982-7c48eac251ce [root@Never-downtime ~]# free -l total used free shared buffers cached Mem: 1906280 142744 1763536 256 23052 29076 Low: 1906280 142744 1763536 High: 0 0 0 -/+ buffers/cache: 90616 1815664 Swap: 786428 0 786428 [root@Never-downtime ~]# swapon /dev/sdb1 [root@Never-downtime ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 8.8G 1.5G 6.9G 18% / tmpfs 931M 0 931M 0% /dev/shm /dev/sda1 190M 38M 142M 22% /boot [root@Never-downtime ~]# free -l total used free shared buffers cached Mem: 1906280 142992 1763288 256 23064 29096 Low: 1906280 142992 1763288 High: 0 0 0 -/+ buffers/cache: 90832 1815448 Swap: 889848 0 889848

使用普通物理分区创建swap 使用文件创建swap 企业案例:java环境内存不够用 swap在工作中,特别是java环境,程序写的有问题,会发生内存泄漏,可能会占用swap。 协调让开发改程序,运维可以临时增大swap。

转载请注明原文地址: https://www.6miu.com/read-33084.html

最新回复(0)