硬件环境:Dell R710,6块SATA 1T容量、7.2k转的磁盘,6i RAID卡。
问题:将前5块盘做的RAID5,共4T左右的存储容量。将第六块盘做的全局热备。
安装CentOS5.3时提示:
Your boot partition is on a disk using the GPT partitioning Scheme but this machines cannot boot using GPT.
解决方法:
1. 通过RAID卡为系统/boot分区建立单独的小容量设备sda,将/dev/sda使用MBR格式的分区表建立分区;将其他空间分配到设备sdb上,使用parted建立GPT格式分区(fdisk不支持GPT格式)。
2. 根据下表,对Linux系统启动过程的分析,判断应该是CentOS 5.3的grub版本过低,从而不支持从GPT分区引导系统,为grub打上 gpt patch 应该同样能解决问题。
MBR格式的分区表,有一定的局限性,比如:最大分区不超过2T,一个MBR只能记录四个主分区(扩展分区+逻辑分区,为扩展解决方案)。
当分区大于2T时,需要使用GPT格式的分区表。
使用parted:
1. 建立分区表
mklabel / mktable LABEL-TYPE create a new disklabel (partition table)
注意该操作会破坏分区表,谨慎操作!
LABEL-TYPE 支持以下几种类型(man parted):
bsd”, “dvh”, “gpt”, “loop”, “mac”, “msdos”, “pc98″ or “sun”.
2. 建立分区
mkpart PART-TYPE [FS-TYPE] START END make a partition
mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system
3. 建立文件系统
mkfs NUMBER FS-TYPE make a FS-TYPE file system on partititon NUMBER
支持以下几种类型(man parted) fat16″, “fat32″, “ext2″, “linux-swap” or “reiserfs”。不支持的文件系统,可以在退出parted之后,使用mkfs来建立。
4. 命名分区
name NUMBER NAME name partition NUMBER as NAME
例:name 1 /boot
5. 设置分区标志(比如Boot Flag)
toggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBER
toggle 1 boot
toggle 使用类似开关一样的方式设置FLAG,执行一次,修改一次状态。比如当前状态为空时,toggle 1 boot 是将第1个分区设置成boot,再执行一次toggle 1 boot时,boot FLAG被去掉。
也可以使用set 1 boot on/off 来设置。
6.其他命令
help 输出帮助信息
print 输出当前分区信息
参考:
http://baike.baidu.com/view/10817.html
http://en.wikipedia.org/wiki/GUID_Partition_Table
http://zh.wikipedia.org/zh-cn/%E5%85%A8%E5%B1%80%E5%94%AF%E4%B8%80%E6%A8%99%E8%AD%98%E5%88%86%E5%8D%80%E8%A1%A8
parted的用法
http://oss.org.cn/ossdocs/gnu_linux/redhat/rhl-cg-zh_CN-9/ch-disk-storage.html
Ubuntu 18.04使用GPT分区并挂载硬盘
进行sudo fdisk -l查看机器上都插了哪些安装盘,看到/dev/sda,并且没有进行分区。
这个时候是没有挂载的,运行如下命令:
sudo parted /dev/sda #进入parted
mklabel gpt #将磁盘设置为gpt格式,
mkpart logical 0 -1 #将磁盘所有的容量设置为gpt格式
print #查看分区结果
quit #退出
root@XXX:~# sudo parted /dev/sda
GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
Warning: The existing disk label on /dev/sda will be destroyed and all data on this disk will be lost. Do you
want to continue?
Yes/No? no
(parted) mkpart logical 0 -1
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? ingnore
parted: invalid token: ingnore
Ignore/Cancel? ignore
(parted) print
Model: Phi H1 (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 17.4kB 1000GB 1000GB logical
(parted) quit
这个时候应该是默认进行分了一个/dev/sda1这个分区
运行sudo mkfs.ext4 -F /dev/sda1 将刚刚分出来的sda1格式化为ext4的格式,然后就可以设置开机自动挂载了。
root@XXX:~# sudo mkfs.ext4 -F /dev/sda1
mke2fs 1.44.1 (24-Mar-2018)
Suggestion: Use Linux kernel >= 3.18 for improved stability of the metadata and journal checksum features.
Creating filesystem with 244190397 4k blocks and 61054976 inodes
Filesystem UUID: d268738c-949e-45a3-9170-1390c49fcac1
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848
Allocating group tables: done
Writing inode tables: done
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information: done
设置挂载点
sudo mkdir /home/phd1 phd1为新文件名,文件名可自定义
执行 sudo nano /etc/fstab
在文件末尾添加:
/dev/sda1 /home/phd1 ext4 defaults 0 0
使用sudo mount -a即可进行重新挂载。