Linux下硬盘分区的最佳方案

博客围绕Red Hat Linux系统搭建FTP服务器展开,涉及Linux系统、服务器相关知识,虽未给出具体内容,但从标签可推测与在Red Hat Linux上构建FTP服务器工作有关。
Linux下硬盘分区的最佳方案
2001-05-18 9:32


sword_martin


在对硬盘进行分区前,应该先弄清楚计算机担负的工作及硬盘的容量有多大,还要考虑到以下几个问题:
第一点也是最重要的一点,要知道当前安装LILO的版本,因为LILO2.21及早期版本对硬盘大小有限制,如果安装LILO到1023磁道以外即8G的空间以外,LILO就无法启动。 但一些BIOS较老的机器,LINUX仍然无法突破1024磁道的限制,因此这些BIOS无法认出大于1024的硬盘空间。
还需要考虑的问题有:
· 是否限制用户可使用的磁盘空间大小?
· 在系统中需要安装哪些软件?
· 交换分区需要多大?
· 系统是否有多个硬盘?
下面,我们按系统工作性质的不同对分区的划分提出了一些建议。当然,根据实际情况,在满足系统工作需求的前提下,下面的分区大小也可以灵活的变动。



基本工作站的分区方案


假设系统的硬盘大小是10G。
/boot 20M
Swap 128M
/root 9.85G
建立一个20M的/boot分区是为了避免将系统内核文件放到1024磁道以外,如果将/boot做为root分区的一个子目录,内核文件就会安装在root分区的任何地方,因为硬盘的大小超过了8G,所以在启动时就有可能出现问题。建议将交换分区的大小设置为内存的两倍,在这里我们假设系统的内存为64M。最后我们将硬盘的剩余空间全部分给了root分区。

Red Hat Linux 6.2 及其早期版本上的基本服务器硬盘分区方案


这里的服务器我们假设只提供几种通用的服务,如WWW服务及FTP服务等几种服务,通过telnet登录的用户数很少。假设其硬盘大小为25G。
/boot 20M
Swap 128M
/ 10G
/home 13G
/var 2G

在硬盘的最前面创建20M大小的/boot分区,原因同上。 交换分区的大小也是128M,因为内存的大小为64M。
/ ,即root分区设为10G这么大是因为其中有一个/usr目录,这个目录可能会占用很多硬盘空间,特别是在安装了X Server,运行图形界面的应用程序的时候。
/home分区是硬盘中最大的分区,这似乎与我们假设系统用户数不多有些矛盾。实际上在/home目录下确实没有几个用户目录,但在Red Hat6.2及更早的版本中,Apache服务器和wu-ftpd FTP服务器被放在了/home/httpd及/home/ftp目录中。所以这个分区这么大也是有原因的。
最后,/var目录独自占用了一个分区,因为系统的所有日志都写到了/var/log目录下,这将会占用很大的硬盘空间。如果系统日志记录得非常详细,整个目录很快会被写满,导致系统工作呆滞。当然,可以通过系统日志后台守护程序syslogd来修改日志配置,避免发生这种情况。

Red Hat 7及以上版本的基本服务器分区方案



这种情况同前一个方案的情况相同,不同的是LINUX版本为Red Hat 7.0及其以上版本。
/boot 20M
Swap 128M
/ 10G
/var 15G

与RedHat6不同,在RedHat7中HTTP服务和FTP服务的目录现在位于 /var/www/ 和/var/ftp/,因此/var分区有15G之大也就不难理解了。



多用户服务器分区方案

在这种服务器系统中,同时有多个用户通过telnet, ssh, rlogin或其方式在远程访问系统。系统中有三个35G的硬盘驱动器,总共有105G的磁盘空间 。系统中用到了RAID 5技术做数据冗余。这种情况下,管理员必须为每个用户分配磁盘空间。 对RedHat 6.2及更早的版本,分区如下:
Disk 1:

/boot 20M
/ 4G
/var 3GB
/home 27.98G

Disk 2:

swap 20MB
/ 4GB
/var 3GB
/home 27.98GB


Disk 3:

swap 20MB
/ 4GB
/var 3GB
/home 27.98GB

这样分区的原因:首先,Disk1上的20M /boot分区不属于任何RAID阵列,否则如果你将/boot放至RAID阵列中,以后就不能系统内核升级了。
为了方便管理,在其它两个硬盘中建立了20M的交换分区。这种服务器一般配有1G以上的内存,因此交换分区的大小不成问题。如果增大交换分区,就会减少RAID分区空间,所以20M是足够的。RAID分区的分组如下:

· 1-A, 2-A, and 3-A 一起组成一个8G的 RAID 5 驱动器,做为/根目录打开。
· 1-B, 2-B, and 3-B 组成 6GB的 RAID 5 驱动器,做为 /var目录。
· 1-C, 2-C, and 3-C 组成 55.96GB RAID 5 驱动器, 做为 /home.目录。
这种分配方案总共有55.96G的空间分配给所有用户及Apache和FTP服务,在/var下用6G空间用做记录日志、邮件,这么大的空间是足够的。
如果安装Red Hat7或以上版本,应给/var分区更大的空间,因为它同时还存放着WEB和FTP服务的两个目录。



<think>我们面对的是一个关于在Linux系统下创建140TB分区的技术问题。根据引用内容,我们知道fdisk工具无法处理超过2TB的分区(引用[1])。因此,我们需要使用支持大分区的工具,如parted或gdisk。 解决方案步骤: 1. 确认硬盘设备路径,例如/dev/sdb。 2. 使用parted工具创建GPT分区表(因为MBR分区表不支持大于2TB的分区)。 3. 使用parted或gdisk创建分区,并设置分区大小为140TB。 4. 格式化分区为适当的文件系统(如XFS或ext4,因为它们支持大分区)。 5. 挂载分区。 详细步骤: 步骤1:确认硬盘设备 使用`lsblk`或`fdisk -l`确认要分区的硬盘设备,假设为`/dev/sdb`。 步骤2:创建GPT分区表 使用parted创建GPT分区表: ```bash sudo parted /dev/sdb (parted) mklabel gpt (parted) quit ``` 步骤3:创建分区 使用parted创建分区,设置大小为140TB(注意单位,可以使用TB作为单位): ```bash sudo parted /dev/sdb (parted) mkpart primary 0% 100% # 或者指定大小为140TB,但整个磁盘的话可以直接0%到100% # 如果磁盘有140TB,那么这样就会创建一个140TB的分区。 (parted) print # 查看分区信息 (parted) quit ``` 或者,使用`parted`命令的非交互模式: ```bash sudo parted /dev/sdb --script mklabel gpt sudo parted /dev/sdb --script mkpart primary 0% 100% ``` 注意:如果磁盘实际大小是140TB,那么0%到100%就会创建一个140TB的分区。 步骤4:格式化分区 由于分区较大,建议使用XFS文件系统,因为XFS对超大文件和超大分区支持较好,且扩展性好。 ```bash sudo mkfs.xfs /dev/sdb1 ``` 或者使用ext4,但需要确保系统支持大文件系统(例如,使用`-T largefile4`选项): ```bash sudo mkfs.ext4 /dev/sdb1 ``` 注意:ext4文件系统在创建时可能需要增加inode的数量,因为默认情况下,inode的数量是根据磁盘大小计算的,但140TB的分区可能需要调整参数。不过,通常默认设置即可。 步骤5:挂载分区 创建挂载点并挂载分区: ```bash sudo mkdir /mnt/bigdata sudo mount /dev/sdb1 /mnt/bigdata ``` 为了永久挂载,需要将分区信息添加到`/etc/fstab`文件中: ```bash echo "/dev/sdb1 /mnt/bigdata xfs defaults 0 0" | sudo tee -a /etc/fstab ``` 如果使用ext4,则将xfs替换为ext4。 注意事项: - 确保内核支持大分区和大文件系统(现代Linux内核通常支持)。 - 确保文件系统工具(如mkfs.xfs)支持大分区。 - 硬件方面,确保磁盘控制器、驱动等支持大容量磁盘。 引用说明: 根据引用[1],fdisk不能创建大于2TB的分区,因此我们使用parted工具(支持GPT分区表)来创建大分区。引用[2]提供了创建分区的基本流程,但它是针对Windows的,不过概念类似:选择工具、创建分区、格式化、挂载。引用[3]讨论了swap分区的大小,与本问题无关。 因此,我们通过使用parted工具和GPT分区表,成功创建并挂载了一个140TB的分区。 相关问题: 1. 在Linux中,如何检查一个分区的文件系统类型? 2. 如何扩展一个已经存在的XFS文件系统? 3. 在Linux中,如何监控大分区的磁盘使用情况?</think>### 在Linux下创建140TB分区的解决方案 由于Linux的`fdisk`工具无法处理超过2TB的分区(引用[1]),创建140TB分区需要使用支持GPT分区表的工具。以下是详细步骤: #### 1. **准备GPT分区表** ```bash sudo parted /dev/sdX # 替换sdX为你的硬盘标识符 (parted) mklabel gpt # 创建GPT分区表 (parted) print # 验证分区表类型 (parted) quit ``` #### 2. **创建分区** ```bash sudo parted /dev/sdX (parted) mkpart primary 0% 100% # 使用整个磁盘空间 (parted) name 1 bigdata # 命名分区 (parted) set 1 lvm on # 启用LVM(可选) (parted) quit ``` #### 3. **格式化文件系统** 推荐使用XFS(对大容量支持更好): ```bash sudo mkfs.xfs -f /dev/sdX1 # 格式化分区 # 或使用ext4(需确保内核支持大文件系统): sudo mkfs.ext4 -T largefile4 /dev/sdX1 ``` #### 4. **挂载分区** ```bash sudo mkdir /mnt/bigdata sudo mount /dev/sdX1 /mnt/bigdata # 永久挂载(添加到/etc/fstab): echo "/dev/sdX1 /mnt/bigdata xfs defaults 0 0" | sudo tee -a /etc/fstab ``` #### 关键注意事项: 1. **硬件要求**: - 确认存储控制器支持>2TB寻址(如SAS HBA或硬件RAID) - 检查内核支持:`grep CONFIG_64BIT /boot/config-$(uname -r)` 2. **文件系统选择**: - **XFS**:最佳选择,支持EB级容量,扩展性强 - **ext4**:需启用`64bit`特性(`dumpe2fs -h /dev/sdX1 | grep 64bit`) - 避免使用FAT32/NTFS(不支持大文件) 3. **高级方案**: ```bash # 使用LVM管理超大空间: sudo pvcreate /dev/sdX1 sudo vgcreate bigvg /dev/sdX1 sudo lvcreate -n biglv -l 100%FREE bigvg sudo mkfs.xfs /dev/bigvg/biglv ``` 4. **验证分区**: ```bash sudo parted /dev/sdX unit TB print # 查看TB级分区 df -h /mnt/bigdata # 检查挂载容量 xfs_info /mnt/bigdata # XFS详细信息 ``` > **重要提示**:操作前务必备份数据!操作大型存储设备时,建议使用`nohup`执行长时间格式化的命令,避免SSH超时中断。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值