以ext4文件系统为例,设计的时候分为4个部分
由于 ls -l 获取的是i节点记录的数据使用的数据块个数,而 du 则是通过i节点获取实际大小, 所以 ls -l 和 du 显示的数据大小不同。
RAID全称是Redundant Array of Independent Disks,也就是磁盘阵列,通过整合多块硬盘从而提升服务器数据的安全性,以及提高数据处理时的I/O性能。
RAID目前常用的是RAID5, 至少需要3块硬盘,其中一块硬盘用于奇偶校验,保证数据安全,其余硬盘同时读写,提高性能。此外,你还需要知道最原始的是RAID0,同时将数据读写到所有硬盘里,速度就变成了原来的N倍。RAID1至少需要两块盘,其中一块硬盘是另外硬盘的镜像。它不提高读写效率,只提高了数据安全性。RAID10是RAID0和RAID1的组合。
目前的服务器都配备了硬件RAID卡,因此在为服务器增加或更换硬盘时,需要 格外注意 ,
fdisk只能对不多于2TB的硬盘进行分区
假如你的硬盘大于2TB,那么会输出如下信息
提示信息中的警告中,就建议"Use parted(1) and GUID partition table format (GPT)."
因此,对于大于2TB的硬盘就需要用 parted 进行分区
输出信息如下
创建新的GPT标签,例如
设置单位
创建分区, 比如我将原来的10T分成2TB和8TB
查看分区表
输出如下
退出
此时会提示"Information: You may need to update /etc/fstab." /etc/fstab 用于设置开机硬盘自动挂载。如果硬盘被拔走了,而 /etc/fstab 没有修改,那么会就提示进行修复模式。
在挂载硬盘之前,需要先对磁盘进行格式化。使用的命令为 mkfs , 使用 -t 指定文件系统,或者用 mkfs.xxx ,其中xxx就是对应的文件系统。文件系统有如下几类
目前最流行的是ext4和xfs,足够稳定。其中xfs是CentOS7之后的默认文件系统。
之后用 mount 进行硬盘挂载,分别两种情况考虑
一种是新建一个文件路径,进行挂载。
另一种是挂载一个已有目录,比如说临时文件目录 /tmp 挂载到新的设备中。
第一步: 新建一个挂载点,将原有数据移动到该目录下
第二步: 删除原来的 /tmp 下内容
第三步: 重新挂载
和mount相关的文件如下
此外mount在挂载的时候还可以设置文件系统参数,例如是否支持磁盘配额,对应 -o 参数
第零步: 检查服务器是否具备RAID阵列卡,如果有,则需要先为硬盘做RAID。
第一步: 使用 fdisk -l 检查硬盘是否能被系统检测到
第二步(可选): 假如需要 硬盘分区 ,则用 fdisk/gdisk/parted 对硬盘划分磁盘
第三步: 使用mkfs进行磁盘 格式化 ,有如下几种可选,
第四步: 用mkdir新建一个目录,然后用mount将格式化的硬盘挂载到指定目录下。卸载硬盘,则是 umout
第五步: 修改 /etc/fstab 将硬盘在重启的时候自动挂载。 注意 : 如果硬盘不在了,则需要将对应行注释掉,否则会进入到emergency模式。
版权声明 :本博客所有文章除特别声明外,均采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 (CC BY-NC-ND 4.0) 进行许可。
(图1:整体概念图)数据流经过分区方案,被分配到不同的分区中,从图中可以看出,分区是可以重复利用的,后台有一个所谓的自动化切换分区的作业在跑,目的就是如果重复 利用这些分区。这里的PRIMARY目的就是说明它与其它文件组的一个平级关系,而且我们在做交换分区时候也会用到PRIMARY,需要事先分配足够的空间;(图2:自动化设计图)自动化切换分区作业的逻辑处理,其中分区管理表的设计是比较重要的,它的灵活度关系到整个自动化的效果; 这个逻辑有以下几个特点:1、 分区的索引进行存储位置对齐;其它索引在创建时就使用了分区方案,索引数据跟随分区数据一起存储在分区中;2、分区管理表,包含了分区记录数预警设计,在Id达到这个值后就会进行交换分区;3、分区管理表,FileGroup_String字段的数据可以通过SQL脚本自动化生成,条件就是分区文件组名称需要有规律;4、 临时表是创建在PRIMARY主分区上,跟原表使用相同的分区方案;需要事先给PRIMARY分配大于或者等于一个分区文件大小的空间,这样在交换分区的时候就不用增量为主分区分配数据空间;5、 交换旧数据到临时表,使用下面的语句可以把数据交换到相同的分区中编号,这样可以应对临时表就是一个历史表,而好处就是历史表也同样使用了分区;ALTER TABLE [tb] SWITCH PARTITION @PARTITION_num TO [Temp_tb]6、这里需要先修改分区方案,才能修改分区函数,这个跟创建分区函数与分区方案的顺序是刚好相反的;分区管理表(PartitionManage)是能应对比较多的情况:1、 比如我们可以修改预警值(Change_Value),让数据提早进入交换分区;2、比如我们可以修改分区值(Part_Value),达到调整分区间隔的目的;3、比如我们可以修改分区文件组名称(FileGroup_String),达到跳级文件组的目的;通过修改分区管理表来设置分区值与分区文件组的对应关系;4、再比如,我们一次性修改了分区方案和分区函数,已经去到很后面的分区值了,那么我们只要设置这些分区值的状态(IsDone)为1(True)就可以解决;5、记录了进行交换分区的时间(UpdateTime),方便查询;不知道朋友们看到这个标题是会陌生还是熟悉呢?今天带大家一起看看一起介绍下SQL Server自动化管理分区设计方案;一、设计说明设计这个自动化的目的是想要交替、重复地使用固定的几个分区(分区编号01~05)来保存数据,当最后一个分区就是快满的时候,我们会把最旧数据的分区的数据清空出分区,新数据就可以使用老分区空间了;应用这个自动化管理分区的环境是有些限制的;其一:分区的数据是呈现递增的,比如分区字段是自增Id值,或者是以日期作为分区;其二:可以接受历史 数据被移除分区表带来的问题;其三:一天进库的数量不应大于分区管理表PartitionManage中Part_Value与Change_Value 的差,因为我们作业执行的频率是1天,不过你可以调整Change_Value或者作业的执行频率;二、看图说话欢迎分享,转载请注明来源:夏雨云
评论列表(0条)