root@HWPKI-TEST-97:~# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.5 LTS Release: 14.04 Codename: trusty
挂载硬盘:
root@HWPKI-TEST-96:~# fdisk -l Disk /dev/sda: 3000.6 GB, 3000592982016 bytes 90 heads, 3 sectors/track, 21705678 cylinders, total 5860533168 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0x54a892f2 Device Boot Start End Blocks Id System /dev/sda1 2048 4294967294 2147482623+ 83 Linux
该硬盘共有5860533168 sectors,但是使用fdisk分区时,只识别到4294967294 sectors
这个时候如果仍使用fdisk进行分区,会有如下提示:
root@HWPKI-TEST-96:~# fdisk /dev/sda WARNING: The size of this disk is 3.0 TB (3000592982016 bytes). DOS partition table format can not be used on drives for volumes larger than (2199023255040 bytes) for 512-byte sectors. Use parted(1) and GUID partition table format (GPT). The device presents a logical sector size that is smaller than the physical sector size. Aligning to a physical sector (or optimal I/O) size boundary is recommended, or performance may be impacted.
意思大概是说DOS格式分区表不能用于容量大于2 199 023 255 040 bytes(2T,粗略计算),对于扇区为512-byte。
此外,它还推荐使用parted(1)来进行GPT格式分区,关于 GUID Partition Table ,翻墙可查看。最后一段说逻辑扇区小于物理扇区,你需要将其与物理扇区对齐,否则表现就会不完美(美式汉语),了解一下,一会使用parted有个步骤需要对齐,原理并不懂。
这里我先忽略警告,将已经错误分区损失1T(均价400RMB)的分区删除,方法参考fdisk里的d命令,删除之后需要w保存,下面是结果:
Command (m for help): d Selected partition 1 Command (m for help): d No partition is defined yet! Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) Syncing disks.
附上fdisk命令:
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)
写入分区需要通知,删除同理:
partprobe需要让内核知道,结果并不如我意
root@HWPKI-TEST-96:~# partprobe Error: Partition(s) 1 on /dev/sda have been written, but we have been unable to inform the kernel of the change, probably because it/they are in use. As a result, the old partition(s) will remain in use. You should reboot now before making further changes.
linux告诉我它并不能通知内核这样做,在/dev/sda上的第一分区已经使用过,这种情况在现实中我也是能理解的,原理不懂。
不想重启,所以就直接将分区卸载:
oot@HWPKI-TEST-96:~# umount /mnt
接下来的步骤按照网上的流程走,参考 DOS Partitions (fdisk) and the 2TB Limit 和parted手册 GNU Parted User Manual
,这里我们按照自己的环境 *** 作一遍:
root@HWPKI-TEST-96:~# parted GNU Parted 2.3 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands.
出现欢迎布拉布拉,输入help(救命啊!!)
(parted) help 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 resizepart NUMBER END resize partition NUMBER 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的用法,敬请参考。
在分区以前,介绍一下步骤:
1、给硬盘加电2、用fdisk -l或parted -l检测一下
例如/dev/sdb
3、确定用MBR还是GPT分区格式,如果计划2T只分一个分区,建议用GPT格式
MBR最大分区小于等于2TB,而GPT分区没有2TB的限制
MBR分区表中最多4个主分区或者3个主分区+1个扩展分区
磁盘的分区数没有上限,只受到 *** 作系统限制
parted /dev/sdb mklabel msdos
parted /dev/sdb mklabel gpt
parted /dev/sdb print
4、给硬盘分区
fdisk /dev/sdb
parted /dev/sdb
parted支持命令格式和交互模式
5、确定分区格式,格式化分区
mkfs.xfs /dev/sdb1
mkfs.ext4 /dev/sdb1
6、加载硬盘
mkdir /2t
mount /dev/sdb1 /2t
本章我们先介绍Linux服务器磁盘挂载,下期介绍Linux磁盘扩容问题。
Linux磁盘挂载有两种情况
1. 小于2T磁盘挂载
2. 大于2T磁盘挂载
下面我们分别介绍两种情况的挂载方式
以下磁盘名称都以/dev/sdc为例
挂载小于2T的磁盘也分两种
第一种,直接挂载裸盘,此刻就不用创建分区
在这种情况下,可以直接格式化磁盘,我们这里用ext4格式,当然也可以使用xfs格式
1)格式化分区
2)挂载磁盘
在挂载磁盘之前为了防止机器重启的时候没有加载磁盘,我们需要添加配置文件
1)创建分区
在这种情况下,我们需要先将裸盘创建分区,需要使用fdisk命令
以下都是按照实际运维工作中使用的介绍,还有特殊情况可以自行搜索文档研究。
3) 挂载分区
和上面一样,挂载大于2T的磁盘也分裸盘和分区
第一种,挂载裸盘的话,和小于2T一样,不涉及分区情况,可以直接挂载,具体挂载方式可以参考小于2T的裸盘挂载方式
下面具体说一下第二种,磁盘分区挂载
这种方式已经不能使用fdisk工具了,fdisk只适合划分2T一下的磁盘,此刻需要用到的工具是parted
1)建立磁盘标签GPT
parted /dev/sdc
查看当前磁盘信息
print 可以看到磁盘还没有分区
我们这里使用创建主分区,并且使用全部磁盘
mkpart primary 0% 100%
4) 挂载磁盘
这里也参考上面的磁盘挂载,写入配置文件/etc/fstab,这里为了简便,我直接在命令行挂载了。
此时可以看到磁盘已经挂载
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)