Linux系统parted命令硬盘分区使用详解

parted的基本操作

输入parted命令,进入parted管理界面,如果没有指定硬盘,parted命令会默认选择第一个硬盘为当前操作硬盘。

[root@a ~]# parted
GNU Parted 1.8.1
使用 /dev/hda
Welcome to GNU Parted! Type 'help' to view a list of commands.

输入help查看可进行的操作

(parted) help                                                            
  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,mktable 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 and copyright
        information
(parted) 

选择/dev/sdb硬盘进行操作

(parted) select /dev/sdb
使用 /dev/sdb

输入print查看当前磁盘分区情况

(parted) print    

Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 3221MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type      File system  标志
 1      32.3kB  823MB   822MB   主分区    ext2            
 2      823MB   1028MB  206MB   主分区                    
 3      1028MB  3216MB  2188MB  扩展分区                  
 5      1028MB  1439MB  411MB   逻辑分区                  
 6      1439MB  3216MB  1777MB  逻辑分区  ext3           

parted实验:

这里我们想减少主分区1的容量到500M,然后再将主分区2合并到主分区1中,并且主分区1的数据保持不变

在这个环境中我们已经将/dev/sdb1挂载到/oracle目录上,因此首先要将主分区从系统中卸载

[root@a ~]# umount /oracle/

调整主分区1的容量从822M到500M

(parted) resize 1                                                        
起始点?  [32.3kB]?                                                      
结束点?  [823MB]? 500M                                                  
(parted)

删除分区2,将分区2的空间加入到分区1。

首先删除分区2

(parted) rm 2

查看删除后的分区情况

(parted) print                                                          

Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 3221MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type      File system  标志
 1      32.3kB  500MB   500MB   主分区    ext2            
 3      1028MB  3216MB  2188MB  扩展分区                  
 5      1028MB  1439MB  411MB   逻辑分区                  
 6      1439MB  3216MB  1777MB  逻辑分区  ext3           

调整分区1的容量,将分区2释放的空间划入分区1

(parted) resize 1
起始点?  [32.3kB]?                                                      
结束点?  [500MB]? 1027M          

确认分区调整成功

(parted) print                                                          

Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 3221MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type      File system  标志
 1      32.3kB  1027MB  1027MB  主分区    ext2            
 3      1028MB  3216MB  2188MB  扩展分区                  
 5      1028MB  1439MB  411MB   逻辑分区                  
 6      1439MB  3216MB  1777MB  逻辑分区  ext3

parted命令为大于2T硬盘分区

一般来说我们对磁盘分区都是用fdisk命令,但是对于硬盘容量大于2T时,这个命令就不管用了,因为MBR分区表只支持2T磁盘;所以大于2T的磁盘必须使用GPT分区表,这时我们就需要用到parted命令。

一、分区

# parted /dev/sdb     #使用parted来对GPT磁盘操作,进入交互式模式
 
(parted) mklabel gpt   # 将MBR磁盘格式化为GPT
 
(parted) mkpart primary ext4 0% 100%    将所有容量分为一个主分区
 
(parted) p    #打印当前分区
 
(parted) q    #退出

二、格式化

# mkfs.ext4 /dev/sdb1

三、挂载分区

mount -t ext4 /dev/sdb1 /cache1    #挂载在cache1上
 
df -h  #查看分区后结果
四、开机自启
修改/etc/fstab文件,添加下面代码

/dev/sdb1       /cache1          ext4            defaults,noatime       1 2
FAQ:

1、Warning: The resulting partition is not properly aligned for best performance.
在第一步设置分区容量时,一开始用mkpart primary 0 4TB命令,不管数字怎么组合,都会提示Warning,原因是parted是通过扇区来区分的,如果强制输入数字就会提示告警不是最优方案。于是我们就使用%比的形势,测试正常通过

(parted) mkpart primary ext4 0% 100

在Linux系统中挂载SCSI盘阵,且分区大小超过2TB时,无法使用mk2fs命令进行格式化,而在使用mkfs.ext3命令格式化时,需要增加-T largefile参数,否则格式化过程将非常缓慢,对于添加一个10TB的存储,如果linux下直接格式化是一个很漫长的过程,10TB,估计少了30小时是完不成的。

[root@server ~]# mkfs.ext3 -T largefile /dev/sdb1 
[root@server ~]# e2label /dev/sdb1 /data1 //对/dev/sdb1添加(修改)标签为/data1
[root@server ~]# e2label /dev/sdb1 //查看分区的标签
/data1
[root@server ~]# mkdir /data1 //在/分区下创建一个配额的挂载点
[root@server ~]# mount /dev/sdb1 /data1 //对该分区进行手动挂载
这样分区完成并挂载成功,用df –h就可以看到该磁盘的大小
[root@server ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 20G 3.9G 15G 22% /
/dev/sda1 122M 12M 104M 10% /boot
tmpfs 62M 0 62M 0% /dev/shm
/dev/sdb1 2.0T 199M 1.9T 1% /data1
最后只需在fstab中添加如下一行,就能完成分区的自动挂载
[root@server ~]# vi /etc/fstab
/dev/sdb1 /data1 ext3 defaults 0 0

 

案例分析:

[root@RH6 ~]# fdisk -l
Disk /dev/sdd doesn‘t contain a valid partition table
Disk /dev/dm-0: 30.1 GB, 30098325504 bytes
255 heads, 63 sectors/track, 3659 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: 0x00000000

对磁盘分区:
[root@RH6 ~]# parted /dev/sdd
GNU Parted 2.1
Using /dev/sdd
Welcome to GNU Parted! Type ‘help‘ to view a list of commands.
(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
  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) select
New device?  [/dev/sdd]?
Using /dev/sdd
(parted) mklabel gpt
(parted) print
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sdd: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number  Start  End  Size  File system  Name  Flags

(parted) mkpart primary 0 10240  //建立从0M开始的10g的分区
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? i
(parted) print
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sdd: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number  Start   End     Size    File system  Name     Flags
 1      17.4kB  10.2GB  10.2GB               primary
 
(parted) mkpart primary 10240 -1  //建立从10g开始,剩下所有的空间都建立分区
(parted) p
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sdd: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number  Start   End     Size    File system  Name     Flags
 1      17.4kB  10.2GB  10.2GB               primary
 2      10.2GB  21.5GB  11.2GB               primary
(parted) quit
Information: You may need to update /etc/fstab.

对分区进行格式化:
[root@RH6 ~]# mkfs.ext3 -T largefile /dev/sdd1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
9856 inodes, 2499995 blocks
124999 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2562719744
77 block groups
32768 blocks per group, 32768 fragments per group
128 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

[root@RH6 ~]# mkfs.ext3 -T largefile /dev/sdd2
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
10752 inodes, 2742528 blocks
137126 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2810183680
84 block groups
32768 blocks per group, 32768 fragments per group
128 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 32 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

mount分区:
[root@RH6 ~]# mkdir /gpt1 /gpt2
[root@RH6 ~]# mount /dev/sdd1 /gpt1
[root@RH6 ~]# mount /dev/sdd2 /gpt2
[root@RH6 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_rh6-lv_root
                       28G   20G  6.5G  76% /
tmpfs                 590M   88K  590M   1% /dev/shm
/dev/sda1             485M   28M  432M   7% /boot
/dev/mapper/oravg-lv_data1
                      9.9G  2.9G  6.5G  31% /dsk1
/dev/mapper/oravg-lv_data2
                      9.9G  312M  9.1G   4% /dsk2
/dev/mapper/oravg-lv_data3
                      9.9G  151M  9.2G   2% /dsk3
/dev/mapper/oravg-lv_data4
                       11G  3.0G  6.8G  31% /dsk4
/dev/mapper/datavg-lv_dat1
                      9.9G  151M  9.2G   2% /dsk5
/dev/mapper/datavg-lv_dat2
                      7.9G  146M  7.4G   2% /dsk6
/dev/sdd1             9.6G  150M  9.0G   2% /gpt1
/dev/sdd2              11G  155M  9.8G   2% /gpt2
[root@RH6 ~]#

时间: 2024-09-09 11:50:06

Linux系统parted命令硬盘分区使用详解的相关文章

Linux系统Shell命令常用功能使用详解

  Linux系统中Shell不仅仅是一个命令,而且是其他命令的解释器.可以调试其他命令,从而完成编译.那么Linux系统中Shell命令应该怎么使用呢? 其实作为命令语言互动式地解释和执行用户输入的命令只是Shell功能的一个方面,Shell还可以用来进行程序设计,它提供了定义变量和参数的手段以及丰富的程序控制结构.使用Shell编程类似于DOS中的批处理文件,称为Shell script,又叫Shell程序或Shell命令文件. Shell基本语法 像高级程序设计语言一样,Shell也提供说

Linux系统下mysqlcheck修复数据库命令(详解)_Mysql

mysqlcheck客户端工具可以检查和修复MyISAM表,还可以优化和分析表. 实际上,它集成了mysql工具中check.repair.analyze.optimize的功能. 有3种方式来调用mysqlcheck: shell> mysqlcheck[options] db_name [tables] shell> mysqlcheck[options] ---database DB1 [DB2 DB3...] shell> mysqlcheck[options] --all--d

Linux系统下对硬盘分区进行扩容的方法总结

  硬盘快满了,加硬盘扩容,不管是独立的服务器,还是云空间新买的硬盘,扩容方式一样.下面以阿里VPS为例,详细说一下,挂载硬盘扩容的2种方法. 阿里VPS,个人觉得有以下二个方面需要改进 1,默认不是lvm,所以系统盘/dev/xvda1是不能扩容的,所以如果有大数据的东西,一开始就要考虑到扩容的问题.数据量越大,操作风险越大. 2,不能实现无缝扩容,也就是说,在后台扩容一下,不用登录到VPS,进行调整.非专业人士,扩容困难 一,不采用lvm,直接将硬盘挂载到目录 1,查看硬盘分区情况 代码如下

linux中crontab命令启动/重启/停止详解

linux 系统则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的.另 外, 由于使用者自己也可以设置计划任务,所以, Linux 系统也提供了使用者控制计划任务的命令 :crontab 命令. 一.crond简介 crond 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务 工具,并且会自动启动crond进程,cron

linux系统iostat监测IO状态使用详解

Linux系统出现了性能问题,一般我们可以通过top.iostat.free.vmstat等命令来查看初步定位问题.其中iostat可以给我们提供丰富的IO状态数据. 1. 基本使用 $iostat -d -k 1 10 参数 -d 表示,显示设备(磁盘)使用状态:-k某些使用block为单位的列强制使用Kilobytes为单位:1 10表示,数据显示每隔1秒刷新一次,共显示10次.     tps:该设备每秒的传输次数(Indicate the number of transfers per

linux中wget命令的使用方法详解

Linux系统中的wget是一个下载文件的工具,它用在命令行下.对于Linux用户是必不可少的工具,我们经常要下载一些软件或从远程服务器恢复备份到本地服务器.  wget支持HTTP,HTTPS和FTP协议,可以使用HTTP代理.所谓的自动下载是指,wget可以在用户退出系统的之后在后台执行.   这意味这你可以登录系统,启动一个wget下载任务,然后退出系统,wget将在后台执行直到任务完成,相对于其它大部分浏览器在下载大量数据时需要用户一直的参与,这省去了极大的麻烦.   wget 可以跟踪

清理Linux系统垃圾文件操作方法图文步骤详解

在Linux系统中管理垃圾文件并没那么简单,虽然产生的Linux垃圾文件比较少,但随着对Linux系统的操作难免会产生各种软件安装包.软件残余.浏览器缓存文件和文档缓存文件等等,对这些垃圾文件进行清理可以缓解系统空间容量,有效提高系统运行速度,下面介绍下利用命令清理Linux垃圾文件操作教程. 一.clean 命令删除所有的软件安装包. 在网络连接正常的情况下,我们执行软件安装命令,软件安装结束后,以 .deb 为后缀的软件包就不再需要了.这种情况和 Windows 平台.手机的安卓平台上的情况

Linux系统下安装MySQL的步骤详解

如下是我工作中的记录,介绍的是linux系统下使用官方编译好的二进制文件进行安装MySql的安装过程和安装截屏,这种安装方式速度快,安装步骤简单! 需要的朋友可以按照如下步骤进行安装,可以快速安装MySql,希望可以帮助大家:)! 1.下载mysql的linux版本的二进制安装包: 地址:http://dev.mysql.com/download... 这里我将安装包重命名为:tingyun-mysql-5.6.22.tar.gz 说明:根据自己需要可以不进行重命名操作 2.解压安装包: 在需要

Linux使用date命令修改日期时间详解

Linux 时间修改 不重启修改时区 一.修改linux的时间 root使用date指令:date -s 1.只修改日期,不修改时间,输入: Linux代码 date -s 2007-08-03 2.只修改时间,输入: Linux代码 date -s 14:15:00 3.同时修改日期时间,注意要加双引号,日期与时间之间有一空格,输入: Linux代码 date -s "2007-08-03 14:15:00" 4.修改完后,记得输入: Linux代码 clock -w 把系统时间写入