2013-09-25 09:23:06 u012089451 阅读数 987
  • 玩转Linux:常用命令实例指南

    本课程以简洁易懂的语言手把手教你系统掌握日常所需的Linux知识,每个知识点都会配合案例实战让你融汇贯通 。课程通俗易懂,简洁流畅,适合0基础以及对Linux掌握不熟练的人学习; 注意: 1、本课程原价99元,现在仅需29元!购课就送5门价值300元的编程课! 2、购课后登陆csdn学院官网,在课程目录页面即可下载课件。 学完即可轻松应对工作中 85% 以上的 Linux 使用场景 【限时福利】 1)购课后按提示添加小助手,进答疑群,还可获得价值300元的编程大礼包! 2)本课程【现在享受秒杀价39元】 3)本月购买此套餐加入老师答疑交流群,可参加老师的免费分享活动,学习最新技术项目经验。 注意: 1)现在购买至少享受60元优惠; 2)购课后添加微信eduxy-1,发送订单截图领取300元编程礼包。 --------------------------------------------------------------- 这门课程,绝对不会让你觉得亏! 29元=掌握Linux必修知识+社群答疑+讲师社群分享会+300元编程礼包。   人工智能、物联网、大数据时代,Linux正有着一统天下的趋势,几乎每个程序员岗位,都要求掌握Linux。本课程零基础也能轻松入门。   在这门课中,我们保证你能收获到这些 1)快速掌握 Linux 常用命令及配置 2)Linux核心知识点 3) 文件、进程、磁盘、用户管理,以及网络工具命令、文件传输等 4)Vi/Vim编辑器用法  

    7143 人正在学习 去看看 良许

关于硬盘种类、物理几何结构及硬盘容量、分区、扇区[linux]大小计算  

 

一、关于硬盘种类、物理几何结构及硬盘容量、分区大小计算;

1、硬盘种类、物理几何结构
盘的种类主要是SCSI IDE 、以及现在流行的SATA等;任何一种硬盘的生产都要一定的标准;随着相应的标准的升级,硬盘生产技术也在升级;比如 SCSI标准已经经历了SCSI-1 SCSI-2SCSI-3;其中目前咱们经常在服务器网站看到的 Ultral-160就是基于SCSI-3标准的;IDE 遵循的是ATA标准,而目前流行的SATA,是ATA标准的升级版本;IDE是并口设备,而SATA是串口,SATA的发展目的是替换IDE;硬盘的物理几何结构是由盘、磁盘表面、柱面、扇区组成,一个张硬盘内部是由几张碟片叠加在一起,这样形成一个柱体面;每个碟片都有上下表面;磁头和磁盘表面接触从而能读取数据;

2、硬盘容量及分区大小的算法;
我们通过fdsik -l 可以发现如下的信息:

Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1         765     6144831    7  HPFS/NTFS
/dev/hda2             766        2805    16386300    c  W95 FAT32 (LBA)
/dev/hda3            2806        9729    55617030    5  Extended
/dev/hda5            2806        3825     8193118+  83  Linux
/dev/hda6            3826        5100    10241406   83  Linux
/dev/hda7            5101        5198      787153+  82  Linux swap / Solaris
/dev/hda8            5199        6657    11719386   83  Linux
/dev/hda9            6658        7751     8787523+  83  Linux
/dev/hda10           7752        9729    15888253+  83  Linux

其中 heads 是磁盘面;sectors 是扇区;cylinders 是柱面;每个扇区大小是 512byte,也就是0.5K;通过上面的例子,我们发现此硬盘有 255个磁盘面,有63个扇区,有9729个柱面;所以整个硬盘体积换算公式应该是:
磁面个数 x 扇区个数 x 每个扇区的大小512 x 柱面个数 = 硬盘体积(单位
bytes)
以在本例中磁盘的大小应该计算如下: 255 x 63 x 512 x 9729 = 80023749120 bytes 提示:由于硬盘生产商和操作系统换算不太一样,硬盘厂家以10进位的办法来换算,而操作系统是以2进位制来换算,所以在换算成M或者G 时,不同的算法结果却不一样;所以我们的硬盘有时标出的是80G,在操作系统下看却少几M;上面例子中,硬盘厂家算法操作系统算数比较:硬盘厂家: 80023749120 bytes = 80023749.120 K = 80023.749120 M (向大单位换算,每次除以1000

操作系统: 80023749120 bytes = 78148192.5 K = 76316.594238281 M (向大单位换算,每次除以1024)我们在查看分区大小的时候,可以用生产厂家提供的算法来简单推算分区的大小;把小数点向前移动六位就是以G表示的大小;比如 hda1 的大小约为 6.144831G

 

2013-12-05 19:03:00 mysticboy 阅读数 40
  • 玩转Linux:常用命令实例指南

    本课程以简洁易懂的语言手把手教你系统掌握日常所需的Linux知识,每个知识点都会配合案例实战让你融汇贯通 。课程通俗易懂,简洁流畅,适合0基础以及对Linux掌握不熟练的人学习; 注意: 1、本课程原价99元,现在仅需29元!购课就送5门价值300元的编程课! 2、购课后登陆csdn学院官网,在课程目录页面即可下载课件。 学完即可轻松应对工作中 85% 以上的 Linux 使用场景 【限时福利】 1)购课后按提示添加小助手,进答疑群,还可获得价值300元的编程大礼包! 2)本课程【现在享受秒杀价39元】 3)本月购买此套餐加入老师答疑交流群,可参加老师的免费分享活动,学习最新技术项目经验。 注意: 1)现在购买至少享受60元优惠; 2)购课后添加微信eduxy-1,发送订单截图领取300元编程礼包。 --------------------------------------------------------------- 这门课程,绝对不会让你觉得亏! 29元=掌握Linux必修知识+社群答疑+讲师社群分享会+300元编程礼包。   人工智能、物联网、大数据时代,Linux正有着一统天下的趋势,几乎每个程序员岗位,都要求掌握Linux。本课程零基础也能轻松入门。   在这门课中,我们保证你能收获到这些 1)快速掌握 Linux 常用命令及配置 2)Linux核心知识点 3) 文件、进程、磁盘、用户管理,以及网络工具命令、文件传输等 4)Vi/Vim编辑器用法  

    7143 人正在学习 去看看 良许

扩大缩小Linux物理分区大小

由于产品在不同的标段,设备硬盘也不同, 有些500G,有些320G有些200G,开始在大硬盘上做的配置,想把自己定制好的Linux克隆到小硬盘上,再生龙会纠结空间大小的问题, 因此需要做一些分区的改变。 

网上一堆关于逻辑分区的, 物理分区其实则很简单
分两步
第一步检测分区
  e2fsck -f /dev/sda1

第二步将分区设置为245GB , 扩大无所谓, 缩小要看你空间占用, 如果文件占用超过你设置的话,
会有问题
  resize2fs /dev/sda1  245G
完成后 , 会出现类似下面的句子。

resize2fs  
Resizing the filesystem on /dev/sda1 to ***(4k) blocks.
The filesystem on /dev/sda1 is now ***  blocks long.

posted @ 2013-12-05 19:03 麦壳饼 阅读(...) 评论(...) 编辑 收藏
2018-05-15 17:31:49 hellboy0621 阅读数 453
  • 玩转Linux:常用命令实例指南

    本课程以简洁易懂的语言手把手教你系统掌握日常所需的Linux知识,每个知识点都会配合案例实战让你融汇贯通 。课程通俗易懂,简洁流畅,适合0基础以及对Linux掌握不熟练的人学习; 注意: 1、本课程原价99元,现在仅需29元!购课就送5门价值300元的编程课! 2、购课后登陆csdn学院官网,在课程目录页面即可下载课件。 学完即可轻松应对工作中 85% 以上的 Linux 使用场景 【限时福利】 1)购课后按提示添加小助手,进答疑群,还可获得价值300元的编程大礼包! 2)本课程【现在享受秒杀价39元】 3)本月购买此套餐加入老师答疑交流群,可参加老师的免费分享活动,学习最新技术项目经验。 注意: 1)现在购买至少享受60元优惠; 2)购课后添加微信eduxy-1,发送订单截图领取300元编程礼包。 --------------------------------------------------------------- 这门课程,绝对不会让你觉得亏! 29元=掌握Linux必修知识+社群答疑+讲师社群分享会+300元编程礼包。   人工智能、物联网、大数据时代,Linux正有着一统天下的趋势,几乎每个程序员岗位,都要求掌握Linux。本课程零基础也能轻松入门。   在这门课中,我们保证你能收获到这些 1)快速掌握 Linux 常用命令及配置 2)Linux核心知识点 3) 文件、进程、磁盘、用户管理,以及网络工具命令、文件传输等 4)Vi/Vim编辑器用法  

    7143 人正在学习 去看看 良许

1、关闭虚拟机,增加2张磁盘,模拟新增2块物理硬盘





根据需求修改磁盘大小



添加完成后如图所示

2、启动服务器,以root登录

3、查看磁盘信息

[root@localhost /]# fdisk -l

Disk /dev/sda: 37.6 GB, 37580963840 bytes, 73400320 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000ae75e

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    62914559    30407680   8e  Linux LVM

Disk /dev/sdb: 1073 MB, 1073741824 bytes, 2097152 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/sdc: 2147 MB, 2147483648 bytes, 4194304 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

4、分别对每个磁盘进行分区

[root@localhost /]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xa8bf9e37.

Command (m for help): m
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   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)

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free) #逻辑分区
   e   extended                                #扩展分区
Select (default p): p
Partition number (1-4, default 1):            #按回车取默认值
First sector (2048-2097151, default 2048):    #按回车取默认值

Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-2097151, default 2097151):
Using default value 2097151
Partition 1 of type Linux and of size 1023 MiB is set

Command (m for help): w                        #w回车保存设置
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[root@localhost /]# fdisk /dev/sdc
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xe7c0c272.

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-4194303, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-4194303, default 4194303):
Using default value 4194303
Partition 1 of type Linux and of size 2 GiB is set

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

5、新增分区后再次查看磁盘信息

[root@localhost /]# fdisk -l

Disk /dev/sda: 37.6 GB, 37580963840 bytes, 73400320 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000ae75e

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    62914559    30407680   8e  Linux LVM

Disk /dev/sdb: 1073 MB, 1073741824 bytes, 2097152 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xa8bf9e37

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2097151     1047552   83  Linux

Disk /dev/sdc: 2147 MB, 2147483648 bytes, 4194304 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xe7c0c272

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048     4194303     2096128   83  Linux

6、格式化分区

[root@localhost /]# mkfs -t ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 261888 blocks
13094 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376

Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
[root@localhost /]# mkfs -t xfs /dev/sdc1
meta-data=/dev/sdc1              isize=512    agcount=4, agsize=131008 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=524032, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

8、格式化后再次查看磁盘信息

[root@localhost /]# lsblk -f
NAME        FSTYPE      LABEL           UUID                                   MOUNTPOINT
sda
├─sda1      xfs                         e008266f-d10b-4b54-b2ce-902e28f1f8fe   /boot
└─sda2      LVM2_member                 pCRmuu-Qdz1-BGnm-Z4hZ-3Eic-4uRx-CeEL5o
  ├─cl-root xfs                         82e0dbc6-4e34-4ce3-8c51-2a37779e1041   /
  └─cl-swap swap                        a9fdb3a2-c3be-4d58-9aca-d5308dd24c63   [SWAP]
sdb
└─sdb1      ext4                        4698d481-b50d-433c-8476-855fe7ff5f64
sdc
└─sdc1      xfs                         790ed65d-110d-40ee-b997-4a74274c5c70
sr0         iso9660     CentOS 7 x86_64 2016-12-05-13-55-45-00

9、新建文件夹并挂载分区

mkdir /data1/
mkdir /data2/
[root@localhost /]# mount /dev/sdb1 /data1/
[root@localhost /]# mount /dev/sdc1 /data2/

10、查看硬盘大小及挂载分区

[root@localhost /]# df -h
Filesystem           Size  Used Avail Use% Mounted on
/dev/mapper/cl-root   26G  8.1G   18G  32% /
devtmpfs             473M     0  473M   0% /dev
tmpfs                489M   84K  489M   1% /dev/shm
tmpfs                489M  7.1M  482M   2% /run
tmpfs                489M     0  489M   0% /sys/fs/cgroup
/dev/sda1           1014M  173M  842M  18% /boot
tmpfs                 98M     0   98M   0% /run/user/0
tmpfs                 98M   16K   98M   1% /run/user/42
/dev/sdb1            991M  2.6M  922M   1% /data1
/dev/sdc1            2.0G   33M  2.0G   2% /data2
[root@localhost /]# lsblk -f
NAME        FSTYPE      LABEL           UUID                                   MOUNTPOINT
sda
├─sda1      xfs                         e008266f-d10b-4b54-b2ce-902e28f1f8fe   /boot
└─sda2      LVM2_member                 pCRmuu-Qdz1-BGnm-Z4hZ-3Eic-4uRx-CeEL5o
  ├─cl-root xfs                         82e0dbc6-4e34-4ce3-8c51-2a37779e1041   /
  └─cl-swap swap                        a9fdb3a2-c3be-4d58-9aca-d5308dd24c63   [SWAP]
sdb
└─sdb1      ext4                        4698d481-b50d-433c-8476-855fe7ff5f64   /data1
sdc
└─sdc1      xfs                         790ed65d-110d-40ee-b997-4a74274c5c70   /data2
sr0         iso9660     CentOS 7 x86_64 2016-12-05-13-55-45-00

11、配置开机自动挂载

[root@localhost /]# vim /etc/fstab

在最后加入下面内容

/dev/sdb1 /data1 ext4 defaults 0 0
/dev/sdc2 /data2 xfs defaults 0 0
12、重启服务器看配置是否生效


2010-07-14 15:15:24 polaris1119 阅读数 50
  • 玩转Linux:常用命令实例指南

    本课程以简洁易懂的语言手把手教你系统掌握日常所需的Linux知识,每个知识点都会配合案例实战让你融汇贯通 。课程通俗易懂,简洁流畅,适合0基础以及对Linux掌握不熟练的人学习; 注意: 1、本课程原价99元,现在仅需29元!购课就送5门价值300元的编程课! 2、购课后登陆csdn学院官网,在课程目录页面即可下载课件。 学完即可轻松应对工作中 85% 以上的 Linux 使用场景 【限时福利】 1)购课后按提示添加小助手,进答疑群,还可获得价值300元的编程大礼包! 2)本课程【现在享受秒杀价39元】 3)本月购买此套餐加入老师答疑交流群,可参加老师的免费分享活动,学习最新技术项目经验。 注意: 1)现在购买至少享受60元优惠; 2)购课后添加微信eduxy-1,发送订单截图领取300元编程礼包。 --------------------------------------------------------------- 这门课程,绝对不会让你觉得亏! 29元=掌握Linux必修知识+社群答疑+讲师社群分享会+300元编程礼包。   人工智能、物联网、大数据时代,Linux正有着一统天下的趋势,几乎每个程序员岗位,都要求掌握Linux。本课程零基础也能轻松入门。   在这门课中,我们保证你能收获到这些 1)快速掌握 Linux 常用命令及配置 2)Linux核心知识点 3) 文件、进程、磁盘、用户管理,以及网络工具命令、文件传输等 4)Vi/Vim编辑器用法  

    7143 人正在学习 去看看 良许
搭建Linux环境之前,有必要对Linux的硬盘分区知识有所了解。本文总结Linux的硬盘分区知识。

一、关于硬盘种类、物理几何结构及硬盘容量、分区大小计算
首先了解一下硬盘本身的一些信息。
1、硬盘种类、物理几何结构
硬盘的种类主要是SCSI 、IDE及目前流行的SATA等;所有一种硬盘的生产都要一定的标准;随着相应的标准的升级,硬盘生产技术也在升级;比如SCSI标准已经历了SCSI-1 、SCSI-2、SCSI-3;其中目前咱们经常在服务器网站看到的Ultral-160就是基于SCSI-3标准的;IDE
遵循的是ATA标准,而目前流行的SATA,是ATA标准的升级版本;IDE是并口设备,而SATA是串口,SATA的发展目的是替换IDE;
硬盘的物理几何结构是由盘、磁盘表面、柱面、扇区组成,一个张硬盘内部是由几张碟片叠加在一起,这样形成一个柱体面;每个碟片都有上下表面;磁头和磁盘表面接触从而能读取数据;
2、硬盘容量及分区大小的算法
在Linux下执行fdisk -l命令,将出现类似下面的信息:
Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 765 6144831 7 HPFS/NTFS
/dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
/dev/hda3 2806 9729 55617030 5 Extended
/dev/hda5 2806 3825 8193118+ 83 Linux
/dev/hda6 3826 5100 10241406 83 Linux
/dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris
/dev/hda8 5199 6657 11719386 83 Linux
/dev/hda9 6658 7751 8787523+ 83 Linux
/dev/hda10 7752 9729 15888253+ 83 Linux

其中 heads 是磁盘面;sectors 是扇区;cylinders 是柱面;每个扇区大小是 512byte,也就是0.5K;

通过上面的例子,我们发现此硬盘有 255个磁盘面,有63个扇区,有9729个柱面;所以整个硬盘体积换算公式应该是:

[b]磁面个数 x 扇区个数 x 每个扇区的大小512 x 柱面个数 = 硬盘体积 (单位bytes)[/b]

所以在本例中磁盘的大小应该计算如下:
255 x 63 x 512 x 9729 = 80023749120 bytes
提示:由于硬盘生产商和操作系统换算不太相同,硬盘厂家以10进位的办法来换算,而操作系统是以2进位制来换算,所以在换算成M或G 时,不同的算法结果却不相同;所以我们的硬盘有时标出的是80G,在操作系统下看却少几M;
上面例子中,硬盘厂家算法 和 操作系统算数比较:
硬盘厂家: 80023749120 bytes = 80023749.120 K = 80023.749120 M (向大单位换算,每次除以1000)
操作系统: 80023749120 bytes = 78148192.5 K = 76316.594238281 M (向大单位换算,每次除以1024)
我们在查看分区大小的时候,能用生产厂家提供的算法来简单推算分区的大小;把小数点向前移动六位就是以G表示的大小;比如 hda1 的大小约为 6.144831G ;

二、关于硬盘分区划分标准及合理分区结构
1、硬盘分区划分标准
硬盘的分区由主分区、扩展分区和逻辑分区组成;所以我们在对硬盘分区时要遵循这个标准;主分区(包括扩展分区)的最大个数是四个且扩展分区不能包围在主分区之间,主分区(包含扩展分区)的个数由硬盘的主引导记录MBR(Master Boot Recorder)决定的,MBR存放启动管理程式(GRUB,LILO,NTLOARDER等)和分区表记录。其中[b]扩展分区也算一个主分区[/b];扩展分区下能包含更多的逻辑分区;所以主分区(包括扩展分区)范围是从1-4,逻辑分区是从5开始的;比如下面的例子:
Device Boot Start End Blocks Id System
/dev/hda1 * 1 765 6144831 7 HPFS/NTFS
/dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
/dev/hda3 2806 9729 55617030 5 Extended
/dev/hda5 2806 3825 8193118+ 83 Linux
/dev/hda6 3826 5100 10241406 83 Linux
/dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris
/dev/hda8 5199 6657 11719386 83 Linux
/dev/hda9 6658 7751 8787523+ 83 Linux
/dev/hda10 7752 9729 15888253+ 83 Linux
通过这个例子,我们能看到主分区有3个,从 hda1-hda3 ,扩展分区由 hda5-hda10 ;此硬盘没有主分区4,所以也没有显示主分区hda4 ;但逻辑分区不可能从4开始,因为那是主分区的位置,明白了吧;而且可以看出hda3是扩展分区,逻辑分区就是从该分区划分出来的。

另外,可以将L i n u x 安装在一个或多个类型为"Linux Native"的硬盘分区,通常称为"L i n u x原始分区或主分区"。同时还需要一个类型为"Linux Swap "的分区,也叫做"L i n u x 交换分区",关于Swap,一会详细说明。

PS:Windows与Linux硬盘分区对比:

[img]http://dl.iteye.com/upload/attachment/277680/88fdce3a-0f82-3640-9b62-4f10a75f79d2.jpg[/img]

2、硬盘设备(包括移动存储设备)在Linux或其他类Unix系统的表示;

IDE 硬盘在Linux或其他类Unix系统的一般表示为 hd* ,比如hda、hdb ... ... ,我们能通过 fdisk-l 来查看;有时你可能只有一个硬盘,在操作系统中看到的却是 hdb ,这和硬盘的跳线有关;另外hdc大多表示是光驱设备;如果你有两块硬盘,大多是 hda和hdb。在这方面说的太多也无用,还是以fdisk -l 为准为好;SCSI 和SATA 硬盘在Linux通常也是表示为 sd* ,比如 sda 、sdb ... ... 以fdisk -l 为准;移动存储设备在linux表示为 sd* ,比如 sda 、sdb ... ... 以fdisk -l 为准

3、合理的规划分区

在对硬盘进行分区前,应该先弄清楚计算机担负的工作及硬盘的容量有多大,还要考虑到以下几个问题。
第一点也是最重要的一点,要知道当前安装Linux的开机管理程序(boot loader)是使用LILO(Linux Loader)的版本,因为LILO2.21及早期版本对硬盘大小有限制,如果安装LILO到1023磁道以外即 8G的空间以外,LILO就无法启动。但一些BIOS较老的机器,LINUX仍然无法突破1024磁道的限制,因此这些BIOS无法认出大于1024的硬盘空间。

还需要考虑的问题有:

◆ 是否限制用户可使用的磁盘空间大小?

◆ 在系统中需要安装哪些软件?

◆ 交换分区需要多大?

◆ 系统是否有多个硬盘?

下面,我们按系统工作性质的不同对分区的划分提出了一些建议。当然,根据实际情况,在满足系统工作需求的前提下,下面的分区大小也可以灵活的变动。

基本工作站的分区方案
假设系统的硬盘大小是10G。

1. /boot 20M
2. Swap 128M
3. /root 9.85G

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

Red Hat Linux 6.2 及其早期版本上的基本服务器硬盘分区方案
这里的服务器我们假设只提供几种通用的服务,如WWW服务及FTP服务等几种服务,通过telnet登录的用户数很少。假设其硬盘大小为25G。

1. /boot 20M
2. Swap 128M
3. / 10G
4. /home 13G
5. /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及其以上版本。

1. /boot 20M
2. Swap 128M
3. / 10G
4. /var 15G

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

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

1. Disk 1:
2. /boot 20M
3. / 4G
4. /var 3GB
5. /home 27.98G
6. Disk 2:
7. swap 20MB
8. / 4GB
9. /var 3GB
10. /home 27.98GB
11. Disk 3:
12. swap 20MB
13. / 4GB
14. /var 3GB
15. /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服务的两个目录。 希望你能学会这些Linux硬盘分区的最佳方案。

三、交换分区与交换文件

当程序需要的内存比电脑上拥有的物理内存还要大的时候,不管是 Windows 也好,Linux 也好,解决办法就是把存不下的东西转移到硬盘上的“虚拟内存”中去,尽管硬盘的速度比内存慢上很多,但是至少容量要大上很多。

另外,操作系统也可以把一些很久不活动的程序转移到虚拟内存中去,留出更多的主内存给需要的程序和磁盘缓冲。

Linux 在安装的时候,一般需要划出一个分区作为 Linux 的“交换分区”,作为虚拟内存内容的保存分区。

swapon -s 这个命令,可以查看当前系统的虚拟内存的情况,这条命令需要 root 来运行。

Filename Type Size Used Priority

/dev/sda3 partition 1004052 0 -1

可以看到常常看到当前的交换分区为 /dev/sda3,第 2 栏的 Type 中显示为 partition,说明这是个交换分区,那么,还有其他的 Type 吗?

当然,其实 Linux 也可以像 Windows 一样,用交换文件来保存虚拟内存的内容,这样即使你忘记划出交换分区也不要紧,而且灵活性上会更大一些。下面我们看看如何创建交换文件。

交换文件和交换分区一样,大小是固定的,比如你想要一个 1G 的交换文件,那么首先要创建一个 1G 的空白文件,我们用 dd 这个工具来完成这个任务:

dd if=/dev/zero of=/swapfile bs=1024 count=1048576

1048576 就是 1G 用 KB 表示的大小,如果你想要其他大小的文件,更改这个数字即可。

上面的命令,会在根目录下创建 swapfile 这个文件,然后,我们需要将它格式化为交换文件的格式:

mkswap /swapfile

然后把挂载上去,就可以立刻应用这个交换文件了:

swapon /swapfile

你可以运行 swapon -s 查看一下:

Filename Type Size Used Priority

/dev/sda3 partition 1004052 0 -1

/swapfile file 1048486 0 -2

多出来了一项,Type 为 file,确实是我们创建的交换文件,系统已经在使用了。

如果你想开机的时候自动挂载这个交换文件,那么还要在 /etc/fstab 中加上下面这一句:

/swapfile none swap sw 0 0

这样就 OK 了。

经常有人问,虚拟内存要设多大才合适,是主内存的几点几倍性能最好云云,其实作为一般用途来讲,1~2G 就到顶了,妄想从虚拟内存上提高系统性能,是不可能的,去买内存条才是王道。

PS:
交换分区的创建与使用

一.创建交换分区

系统内存无法存放更多数据的时候linux会自动使用交换分区,如果分区的时候没有创建交换分区,可以格式化一个分区为交换分区,然后在创建交换分区。

mkswap /dev/hda1 将/dev/hda1格式化为交换分区

mkswap -c /dev/hda1 将/dev/hda1格式化为交换分区,并检查交换分区有无坏块

在文件中创建交换分区:

dd if=/dev/zero of=/tmp/swapfile count=65536 创建一个32M的swapfile文件
chmod 666 /tmp/swapfile 指定/tmp/swapfile文件的权限
mkswap /tmp/swapfile 将/tmp/swapfile格式化成交换分区

二.使用交换分区

swapon /dev/hda1 开启/dev/hda1分区的交换功能

swapon -v /dev/hda1 开启/dev/hda1分区的交换功能,并输出详细信息

swapon -v /tmp/swapfile 开启/tmp/swapfile文件的交换功能,并输出详细信息

swapon -s 查看开启的全部交换分区或交换文件

swapon -v -p 1 /dev/hda1 将/dev/hda1设置成最高优先级,-p选项指定优先级

swapoff -v /tmp/swapfile 关闭交换区

参考网址:
1、http://www.sudu.cn/info/html/edu/20080425/301647.html
2、http://os.51cto.com/art/200912/171215.htm
3、http://linux.ccidnet.com/art/9513/20080108/1334995_1.html
4、http://huanxiangwu.com/277/linux%E4%BA%A4%E6%8D%A2%E5%88%86%E5%8C%BA%E7%9A%84%E5%88%9B%E5%BB%BA%E5%92%8C%E4%BD%BF%E7%94%A8
2016-03-17 22:29:39 sunshinewave 阅读数 3296
  • 玩转Linux:常用命令实例指南

    本课程以简洁易懂的语言手把手教你系统掌握日常所需的Linux知识,每个知识点都会配合案例实战让你融汇贯通 。课程通俗易懂,简洁流畅,适合0基础以及对Linux掌握不熟练的人学习; 注意: 1、本课程原价99元,现在仅需29元!购课就送5门价值300元的编程课! 2、购课后登陆csdn学院官网,在课程目录页面即可下载课件。 学完即可轻松应对工作中 85% 以上的 Linux 使用场景 【限时福利】 1)购课后按提示添加小助手,进答疑群,还可获得价值300元的编程大礼包! 2)本课程【现在享受秒杀价39元】 3)本月购买此套餐加入老师答疑交流群,可参加老师的免费分享活动,学习最新技术项目经验。 注意: 1)现在购买至少享受60元优惠; 2)购课后添加微信eduxy-1,发送订单截图领取300元编程礼包。 --------------------------------------------------------------- 这门课程,绝对不会让你觉得亏! 29元=掌握Linux必修知识+社群答疑+讲师社群分享会+300元编程礼包。   人工智能、物联网、大数据时代,Linux正有着一统天下的趋势,几乎每个程序员岗位,都要求掌握Linux。本课程零基础也能轻松入门。   在这门课中,我们保证你能收获到这些 1)快速掌握 Linux 常用命令及配置 2)Linux核心知识点 3) 文件、进程、磁盘、用户管理,以及网络工具命令、文件传输等 4)Vi/Vim编辑器用法  

    7143 人正在学习 去看看 良许
Vmstat是Virtual Memory Statistics虚拟内存统计缩写:
物理内存是计算机内存的大小,从物理内存中读写数据比硬盘中读写数据要快很多,而内存是有限的,所以就有了物理内存和虚拟内存的概念。
物理内存就是硬件的内存,是真正的内存。
虚拟内存是为了满足物理内存不足采用的策略,利用磁盘空间虚拟出一块逻辑内存,用作虚拟内存的空间也就是交换分区。
作为物理内存的扩展,Linux会在物理内存不足时,使用交换分区的逻辑内存,内核会把暂时不用的内存块信息写到交换空间,这样物理内存就得到了释放,这块儿内存就可以用于其他目的,而需要用到这些内容的时候,这些信息就会被重新从交换分区读入物理内存。
Linux的内存管理采用的是分页存取机制,为了保证物理内存得到充分的利用,内核会在适当的时间把物理内存中不经常使用的数据块儿自动交换到虚拟内存中,而将充分使用的信息保留到物理内存中。
相关阅读:
Linux物理内存探测 http://www.linuxidc.com/Linux/2012-01/50762.htm
Linux物理内存描述 http://www.linuxidc.com/Linux/2012-01/50761.htm
Linux物理内存管理区初始化 http://www.linuxidc.com/Linux/2012-01/50757.htm
Linux虚拟内存优化的细节学习 http://www.linuxidc.com/Linux/2007-01/1759.htm

Linux环境下虚拟内存的建立 http://www.linuxidc.com/Linux/2008-07/14107.htm


需要主机的内存运行机制特点:

1:Linux系统会不时的进行页面交换操作,以保持尽可能多的空闲物理内存,即使并没有什么需要内存,Linux也会交换出暂时不用的内存页面,这样的可以避免等待交换所需的时间。
2:Linux进行页面交换是有条件的,不是所有页面在不用时都交换到物理内存,Linux内核根据最近经常使用的算法,仅仅将一些不经常使用的页面文件交换到虚拟内存中。有时会看到这样的现象:Linux物理内存还有很多,但是交换空间也用了很多,这很正常。比如,有一个占用很大内存的进程运行的时候,需要耗费很多内存资源,此时有一些不常用页面文件被交换到虚拟内存中,但后来这个占用很多虚拟内存的进程结束并释放了物理内存之后,刚才被交换出去的页面文件并不会自动的交换进物理内存,除非有这个必要。
最后交换空间的页面在使用的时候,首先要被交换到物理内存中,如果没有足够的物理内存,他们又会马上被交换出去,这样,虚拟内存中没有足够空间来存储这些交换页面,导致Linux出现服务异常这些情况。
虚拟内存原理:
在内存中运行的每个进程都需要使用到内存,但是不是每个进行都需要每时每刻都使用系统分配的内存空间。但系统所需内存超过实际的物理内存,内核会释放某些进程所占用,但是未使用的部分或者所有物理内存,把这些资料存储在磁盘上,直到下一次调用,并将释放出来的内存提供给有需要的内存使用。
Linux内存管理中,通过调页paging和交换swapping来完成上述的内存调度。调页算法是吧内存中最近不常使用的页面换到磁盘中,把活动页面保留在内存中供进程使用。交换技术是吧整个进程,而不是部分页面全部交换到磁盘中。
分页写入磁盘的过程为:page-out,分页从硬盘重新回到内存的过程被称为page-in,内核需要一个分页的时候,发现此分页不再内存中,,就会发生page fault.



Vmstat字段说明:

Procs:进程,r:运行队列中进程数量,b:等待io的进程数量,
Memory内存:swpd:使用虚拟内存大小,free:可用内存大小,buff:用作缓冲的内存大小,cache:用作缓存的内存大小
Swap:si:每秒从交换区写到内存的大小,so:每秒写入交换区的大小。
IO:(现在Linux下块的大小为1024bytes)bi:每秒读取的块数,bo:每秒写入的块数。
System:in:每秒中断数,包括时钟中断。Cs:每秒上下文切换。
CPU:us:用户进程执行时间,sy,系统时间,idle空闲时间,wa,等待io时间。


查看内存使用的详细信息:vmstat –s



查看磁盘的读写命令:vmstat–d



查看磁盘的读写命令:vmstat–p /dev/sda1


Reads:来自这个分区的读得信息,read sectors:来自这个分区的读扇区的次数,writes来自这个分区的写的次数,requestedwrites:来自这个分区的写请求次数


转自:http://www.linuxidc.com/Linux/2013-07/87912.htm

Linux下添加硬盘

阅读数 31

linux系统添加硬盘

阅读数 1055

linux 硬盘分区

阅读数 556

没有更多推荐了,返回首页