LINUX系统如何使用大于2T的磁盘分区

本文发布时间: 2019-Mar-22
本周伊始,检查并更换公司备份服务器周备份硬盘,发现一块2T大小的磁盘空间消耗殆尽。检查上周日的增量备份,发现数据备份完整,并无缺失,且空间属于正常增长。于是火速于一供货商处购得一3T硬盘,做为今后的备份磁盘之用。  由于事发突然,供货商答应最早于早上七点将新硬盘送到,而公司大部分服务器是晚上9点之后开始自动备份的,也就是说要在两个小时内搞定磁盘问题。  之前从未处理过2T容量以上的磁盘问题,所以在3T磁盘送到之前,彩的通常的处理手段,做好两手准备,一是取得现有2T磁盘的目录结构,并将其移植到将来的新磁盘上去,二是保证本周换上去的2T磁盘能正常使用,以防新磁盘在安装使用的过程中出现问题,首先保证数据安全。   抓取现有的目录结构可以用如下方法:   假设备份盘挂载在/bak目录下面   # find /bak -maxdepth 3 -type d > /tmp/dir.txt如是,便可抓取/bak目录下3层子目录的目录结构。   当新磁盘挂载上来时,执行如下脚本便可完成目录移植:#!/bin/bashcd /bakwhile read LINE do mkdir -pv $LINEdone < /tmp/dir.txt正常情况下,这一切到些为止就搞定了。但当新硬盘19点准时送到后,将期重新分区格式化之后,挂载到对就目录下时,#df -h 查看发现,只有2T空间可用,这时真正的问题点才刚刚出现。这时候上网查资料,发现了下面这篇神文,与君共勉。 由于MBR分区表只支持2T磁盘,所以大于2T的磁盘必须使用GPT分区表,具体方法如下:  GPT格式的磁盘相当于原来MBR磁盘中原来保留4个partition table的4*16个字节,只留第一个16个字节,类似于扩展分区,真正的partition table在512字节之后,GPT磁盘没有四个主分区的限制。  但fdisk不支持GPT,我们可以使用parted来对GPT磁盘操作。  parted功能很强大,既可用命令行也可以用于交互式  a)。在提示符下输入parted就会进入交互式模式,如果有多个磁盘的话,我们需要运行select sdx x为磁盘,来进行磁盘的选择  代码  parted>  parted>select sdb 假设磁盘为sdb (经检测,直接用parted进入交互模式会默认选择sda,再select别的磁盘无效,所以可以直接用:parted sdc进入交互模式)  parted>mklabel gpt 将MBR磁盘格式化为GPT  #parted>mklabel msdos 将GPT磁盘转化为MBR磁盘  parted>mkpart primary 0 100 划分一个起始位置为0,大小为100M的主分区  parted>mkpart primary 100 200 划分一个起始位置为100M,大小为100M的主分区  #parted>mkpart primary 0 -1 将整块磁盘分成一个分区(本次使用的是这个方式)  parted>print 打印当前分区  parted>quit 退出  parted的更多命令:  代码  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] prints general help, or help on  COMMAND  mklabel LABEL-TYPE create a new disklabel (partition  table)  mkfs NUMBER FS-TYPE make a FS-TYPE file system on  partititon 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 [free|NUMBER|all] display the partition table, a  partition, or all devices  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 displays the current version of GNU  在parted里边不支持ext3的文件系统,所以如果要使用的话,要退出parted进行格式话  代码  mkfs.ext3 /dev/sdx1  因为fdisk是不支持GPT磁盘,所以不要使用fdisk -l来查看X磁盘刚才分好的区,看不到的。  b).命令行的模式:  将硬盘转化为GPT磁盘后,执行下列命令  代码  parted /dev/sdx mkpart primary 0 100 划分一个起始位置为0大小为100M的主分区  我们今天的一系列交互式操作可以转化为如下一条命令:  parted /dev/sdc mkpart primary 0 -1  将新换的一整块3T大小的硬盘sdc分到一个区里面,系统会提示这样不利于发挥高性能,但是也没有办法(请注意该命令结尾是一个0和一个负1)。  经过上述步骤,会产生一个sdc1分区,将其格式化挂载后,再查看,显示2.7T可用,一切正常了。事件反思:  其实在本次事件发生前一到两周就应该预判到磁盘空间不足的问题,每次检查备份,只把重点放在了对应服务器的是否产生备份,是否出现在正确的位置,而却忽略了容量问题。  另外一个问题是在解决问题前,对问题点预判不足。例如没有意识了MBR有一个2T容量的制约。不过此次还好,对突出状况的应对还算及时,没有耽误太长时间。  每一次问题的出现,都深深的暴露一个不足之处,解决一个问题便是一次学习,一次进步,一次成长。今后必定还会有这样那样的问题,努力做到不二过,一步一脚印,再踏实一点。


(以上内容不代表本站观点。)
---------------------------------
本网站以及域名有仲裁协议。
本網站以及域名有仲裁協議。

2024-Mar-04 02:10pm
栏目列表