GVKun编程网logo

解决CentOS下磁盘乱序的问题(centos 磁盘)

7

这篇文章主要围绕解决CentOS下磁盘乱序的问题和centos磁盘展开,旨在为您提供一份详细的参考资料。我们将全面介绍解决CentOS下磁盘乱序的问题的优缺点,解答centos磁盘的相关问题,同时也会

这篇文章主要围绕解决CentOS下磁盘乱序的问题centos 磁盘展开,旨在为您提供一份详细的参考资料。我们将全面介绍解决CentOS下磁盘乱序的问题的优缺点,解答centos 磁盘的相关问题,同时也会为您带来Centos Linux 开启端口 - 解决Centos发布服务外网访问不了的问题、Centos 下磁盘管理、centos6 – 如何解决Centos 6中的包冲突问题、centos下磁盘分区命令的实用方法。

本文目录一览:

解决CentOS下磁盘乱序的问题(centos 磁盘)

解决CentOS下磁盘乱序的问题(centos 磁盘)

大家在使用linux过程当中肯定遇到过磁盘乱序的问题。一般情况下引起磁盘乱序有几种可能,比如磁盘是通过raid卡连接到服务器的,raid卡电池没电来,这时候如果服务器掉电的情况下可能会引起磁盘乱序。再就是比如新的服务器,但raid驱动是比较老的版本,一旦重启也经常会有乱序的可能。再就是服务器磁盘较多,sata/ssd存在混用的情况下也会有乱序的可能。

针对这种乱序的情况应该如何解决呢?这里我总结了一种比较好的结局方法。下面这个脚本的目的是通过udevinfo(centos5)或者udevadm(centos6)来获得磁盘的设备号,这个设备号是不会随着服务器的重启而改变的。获得这个设备号后在/dev/下生成以slot0开通的相应的设备,比如有5块磁盘则生成slot0-4这样5个设备。这时候再挂载的时候用这些槽号来挂载就ok来。脚本如下:

#!/bin/bash

#set -x

function get_release()

{

while read i

do

release=`echo "$i" |grep"release" |awk '{print $3;}'`

main_version=${release:0:1}

if [ ! -z $main_version ]

then

echo $main_version

return 0

fi

done < "/etc/redhat-release"

return 1

}

function get_id_serial()

{

device=$1;

if [ -z "$device" ]

then

return -1

fi

device=`basename $device`

main_version=`get_release`

if [ $? -ne 0 ]

then

echo "get centos release versionerror" 1>&2

return $?

fi

case $main_version in

"5" ) cmd="/usr/bin/udevinfo-q all -n $device" ;;

"6" ) cmd="/sbin/udevadminfo --query=all --name=$device" ;;

esac

ID_SERIAL=$( $cmd |grep"ID_SERIAL=" |awk -F '=' '{print $2;}')

if [ -z $ID_SERIAL ]

then

return 1

fi

echo -n "$ID_SERIAL"

return 0

}

diskctl_config="/etc/udev/rules.d/99-hd.rules"

rm -rf $diskctl_config

diskctl_db="/usr/diskctl/diskctl.db"

rm -rf $diskctl_db

mkdir -p /usr/diskctl

touch $diskctl_db

index=0

for i in /dev/sd*[a-z]

do

device=`basename $i`

ID_SERIAL=`get_id_serial $i`

if [ $? -ne 0 ]

then

echo "FATAL: get ID_SERIAL error" 1>&2

exit 1

fi

slot=`printf "slot%02d" $index`

echo"KERNEL==\"sd*[a-z]\",ACTION==\"add\",ENV{ID_SERIAL}==\"$ID_SERIAL\",SYMLINK+=\"$slot\"">> $diskctl_config

echo"KERNEL==\"sd*[0-9]\",SYMLINK+=\"$slot-part%n\"">> $diskctl_config

echo"KERNEL==\"sd*[a-z]\",ACTION==\"remove\",RUN+=\"/bin/rm-f /dev/$slot /dev/$slot-part*\"" >> $diskctl_config

echo "#split$ID_SERIAL#############################" >> $diskctl_config

ID_SN=`smartctl -i $i 2>/dev/null |grep"Serial\s*number" -i |awk '{print $3;}'`

if [ -z "$ID_SN" ]

then

ID_SN="error"

fi

echo "$slot $ID_SERIAL $ID_SN" >> $diskctl_db

((index=index+1))

Done

/sbin/udevcontrolreload_rules

/sbin/start_udev

/etc/fstab里面以类似下面的方式来挂载:

/dev/slot02 /data02ext4 defaults 0 0

/dev/slot03 /data03ext4 defaults 0 0

/dev/slot04 /data04ext4 defaults 0 0

Centos Linux 开启端口 - 解决Centos发布服务外网访问不了的问题

Centos Linux 开启端口 - 解决Centos发布服务外网访问不了的问题

  1. #   -------------- 查看服务器端口状态--------------------  
  2. [root@zjxl-2 etc]#/etc/init.d/iptables status  
  3. Table: filter  
  4. Chain INPUT (policy DROP)  
  5. num  target     prot opt source               destination           
  6. 1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0             
  7. 2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0             
  8. 3    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:22   
  9. 4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           multiport dports 20:30,80,110,443,3300:3500,5700:6100,7001,8000:13000   
  10. 5    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED   
  11.   
  12. Chain FORWARD (policy ACCEPT)  
  13. num  target     prot opt source               destination           
  14.   
  15. Chain OUTPUT (policy ACCEPT)  
  16. num  target     prot opt source               destination      
  17.   
  18.   
  19. # ----------------------------发现没有开启63796380端口--------------------------------       
  20. # ----------------------------------开启6379端口---------------------------------  
  21.   
  22. [root@zjxl-2 etc]# /sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT  
  23. [root@zjxl-2 etc]# /etc/init.d/iptables status  
  24. Table: filter  
  25. Chain INPUT (policy DROP)  
  26. num  target     prot opt source               destination           
  27. 1    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:6379   
  28. 2    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0             
  29. 3    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0             
  30. 4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:22   
  31. 5    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           multiport dports 20:30,80,110,443,3300:3500,5700:6100,7001,8000:13000   
  32. 6    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED   
  33.   
  34. Chain FORWARD (policy ACCEPT)  
  35. num  target     prot opt source               destination           
  36.   
  37. Chain OUTPUT (policy ACCEPT)  
  38. num  target     prot opt source               destination       
  39.   
  40.   
  41. # ----------------------------------开启6380端口---------------------------------  
  42.       
  43.   
  44. [root@zjxl-2 etc]# /sbin/iptables -I INPUT -p tcp --dport 6380 -j ACCEPT  
  45.   
  46.   
  47.   
  48. #   ------------------------------ 查看服务器端口状态---------------------------  
  49. [root@zjxl-2 etc]# /etc/init.d/iptables status  
  50. Table: filter  
  51. Chain INPUT (policy DROP)  
  52. num  target     prot opt source               destination           
  53. 1    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:6380   
  54. 2    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:6379   
  55. 3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0             
  56. 4    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0             
  57. 5    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:22   
  58. 6    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           multiport dports 20:30,80,110,443,3300:3500,5700:6100,7001,8000:13000   
  59. 7    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED   
  60.   
  61. Chain FORWARD (policy ACCEPT)  
  62. num  target     prot opt source               destination           
  63.   
  64. Chain OUTPUT (policy ACCEPT)  
  65. num  target     prot opt source               destination     
  66.   
  67.   
  68. # ----------------------------------保存修改配置 ---------------------------------  
  69.         
  70.   
  71. [root@zjxl-2 etc]# /etc/rc.d/init.d/iptables save  
  72. Saving firewall rules to /etc/sysconfig/iptables:          [  OK  ]  
  73. [root@zjxl-2 etc]#   

 

 

问题描述:

        在Centos服务器上装好Redis缓存服务后,其他机器访问不了,提示连接超时。,郁闷,在网上找到解决方案:

    /sbin/iptables -I INPUT -p tcp --dport 6379  -j ACCEPT
     /sbin/iptables -I INPUT -p tcp --dport 6380 -j ACCEPT

然后保存:

    /etc/rc.d/init.d/iptables save

这样重启计算机后,CentOS防火墙默认已经开放了6379和6380端口。

这里应该也可以不重启计算机:

    /etc/init.d/iptables restart

 

查看CentOS防火墙信息:

    /etc/init.d/iptables status

关闭CentOS防火墙服务:

    /etc/init.d/iptables stop

永久关闭:

   chkconfig –level 35 iptables off

解决方案来源:http://hi.baidu.com/xiyi2008/item/345215b90948c4d085dd7978

Centos 下磁盘管理

Centos 下磁盘管理

Centos 下磁盘管理

    1. 磁盘分区格式说明

linux 分区不同于 windows,linux 下硬盘设备名为(IDE 硬盘为 hdx(x 为从 a—d)因为 IDE 硬盘最多四个,SCSI,SATA,USB 硬盘为 sdx(x 为 a—z)),硬盘主分区最多为 4 个,不用说大家也知道….. 所以主分区从 sdb1 开始到 sdb4,逻辑分区从 sdb5 开始,(逻辑分区永远从 sdb5 开始…)设备名可以使用 fdisk –l 查看

2. 分区详解

使用 ssh 远程连接工具登录到系统,使用 fdisk -l 命令查看磁盘状态

此处可以看到两块硬盘 hda 和 hdb,第一块硬盘 hda 是装好系统的。hdb 硬盘是未进行分区的。

本例将这个 10G 的硬盘分区,分区计划:分一个主分区 ,大小 3G,文件格式 ext3. 三个逻辑分区,大小分别为 2G,2G,3G。实际分区个数和大小可论情况所定。

下面就是分区的详细步骤,由于是每一步都进行了截图和说明,内容略显复杂,其实很简单。

输入 fdisk /dev/hdb 然后回车,给硬盘进行分区。如下图

输入 n 回车新建分区,接着再输入 p 回车新建主分区,如图

此处要求选择分区号在 1-4 间,输入 1 回车

First cylinder (1-20805, default 1): 这里是设置分区起始的柱面,直接回车选择默认即可,回车后如下图

Last cylinder or +size or +sizeM or +sizeK (1-20805, default 20805): 此处是设置分区结束柱面,+3G 表示从起始柱面开始向后 3G 结束,也是是设置分区大小为 3G,输入 + 3G 后回车,如下图所示

此处可输入 p 查看分区是否成功,输入 p 回车,如下图:显示分区成功

接下来我们就划分扩展分区,按 n 回车

这里输入 e,表示创建扩展分区,输入 e 回车

输入分区号 2 回车

此处直接按回车键,表示选择默认

此处也是直接回车选择默认,表示将划分第一个主分区后的磁盘全部划分个这个逻辑分区

此处可在此输入命令 p 查看当前分区状态,如下图

此处就开始划分扩展分区 hdb2 下的逻辑分区吧!接着上图,输入命令 n 回车

此处输入 l 表示选择创建逻辑分区,输入 l 回车

此处直接使用回车,表示选择默认

此处输入 + 2G,表示划分分区大小为 2G,输入 + 2G 回车

此处要按计划再划分出两个逻辑空间,输入 n 回车,然后输入 l 回车选择逻辑分区,然后直接回车选择默认起始柱面,输入 + 2G 回车设置分区大小

下面就要将扩展分区的磁盘大小全部分给最后一个逻辑分区,输入 n 回车,然后输入 l 选择逻辑分区,然后直接回车选择默认起始柱面,最后不设置磁盘大小直接回车

再次输入 p 查看当前分区状态

划分的空间与我们计划划分相同,最后输入 w 回车,进行保存退出。

再次使用 fdisk -l 命令就可以查看到磁盘 hdb 已经分区成功。

磁盘划分成功,下面就要对分区进行格式化了

使用命令 mkfs -t ext3  /dev/hdb1

         mkfs -t ext3  /dev/hdb5

         mkfs -t ext3  /dev/hdb6

         mkfs -t ext3  /dev/hdb7

分别对磁盘进行格式化处理,格式化为 ext3 文件类型

自此分区流程算是完成啦!

 

附:fdisk 和 mkfs,mkswap 命令的参数解释

Fdisk 命令详解:

m:获取帮助

n:新建分区

p:显示分区表

d:删除分区

b:设置卷标

w:写入分区表

t:改变分区文件系统类型

v:检验分区

l:显示 fdisk 所支持的文件系统代码

q:退出

文件系统的建立:

mkfs 参数分区

-t 文件系统类型指定建立的文件系统类型

注:mkfs –t ext3 =mkfs.ext3

-c 建立文件系统之前检查有无坏道

-l 文件名:从文件中读取坏道的情况

-v 显示详细情况

mkswap 分区在分区上建立交换分区

例:在 hdb7 上建立交换分区命令如下:

mkswap/etc/hdb7

centos6 – 如何解决Centos 6中的包冲突问题

centos6 – 如何解决Centos 6中的包冲突问题

我试图从 PHP 5.5升级到5.6,到目前为止我已经设法升级到PHP5.6,设置suPHP 0.7,并添加PHP-MysqL扩展.
我使用webtatic repo来安装PHP 5.6
我在 this page上读到,不建议在remi上安装webtatic.所以我删除了/etc/yum.conf.d/中的文件,以便在repo列表中没有webtatic.

但是我无法为DomDocument安装PHP-xml,有些CMS使用它.

我试过了 :

yum install PHP-xml

不工作

yum --enablerepo remi install PHP-xml

它给了我一个信息:

Résolution des dépendances
--> Lancement de la transaction de test
---> Package PHP-xml.x86_64 0:5.5.38-7.el6.remi will be installé
--> Traitement de la dépendance: PHP-common(x86-64) = 5.5.38-7.el6.remi     pour le paquet: PHP-xml-5.5.38-7.el6.remi.x86_64
--> Lancement de la transaction de test
---> Package PHP-common.x86_64 0:5.5.38-7.el6.remi will be installé
--> Traitement de la dépendance: PHP-pecl-jsonc(x86-64) pour le paquet: PHP-common-5.5.38-7.el6.remi.x86_64
--> Lancement de la transaction de test
---> Package PHP-pecl-jsonc.x86_64 0:1.3.10-2.el6.remi.5.5 will be installé
--> Traitement du conflit: PHP56w-common-5.6.31-2.w6.x86_64 entre en conflit avec PHP-common < 5.6
--> Résolution des dépendances terminée
Erreur: PHP56w-common conflicts with PHP-common-5.5.38-7.el6.remi.x86_64
Vous pouvez essayer d'utiliser --skip-broken pour contourner le problème
 Vous pouvez essayer d'exécuter: rpm -Va --nofiles --nodigest

我尝试了–skip-broken参数,但我收到:

--> Lancement de la transaction de test
---> Package PHP-xml.x86_64 0:5.5.38-7.el6.remi will be installé
--> Traitement de la dépendance: PHP-common(x86-64) = 5.5.38-7.el6.remi pour le paquet: PHP-xml-5.5.38-7.el6.remi.x86_64
--> Lancement de la transaction de test
---> Package PHP-common.x86_64 0:5.5.38-7.el6.remi will be installé
--> Traitement de la dépendance: PHP-pecl-jsonc(x86-64) pour le paquet: PHP-common-5.5.38-7.el6.remi.x86_64
--> Lancement de la transaction de test
---> Package PHP-pecl-jsonc.x86_64 0:1.3.10-2.el6.remi.5.5 will be installé
--> Traitement du conflit: PHP56w-common-5.6.31-2.w6.x86_64 entre en conflit avec PHP-common < 5.6

Paquets omis en raison de problèmes de dépendances:
PHP-common-5.5.38-7.el6.remi.x86_64 depuis remi-PHP55
PHP-pecl-jsonc-1.3.10-2.el6.remi.5.5.x86_64 depuis remi-PHP55
PHP-xml-5.5.38-7.el6.remi.x86_64 depuis remi-PHP55

然后我尝试了rpm -Va –nofiles –nodigest,然后再次执行上一个命令,但仍然无法解决问题.
感谢您的任何帮助 !

更新:
我设法得到了remi存储库https://rpms.remirepo.net/wizard/的所有者,有一个配置器,我选择了PHP的版本,并且它列出了实现你想要的步骤,但不幸的是我有这样的消息:

Erreur du contrôle de transaction:
file /usr/lib64/MysqL/libMysqLclient.so.16.0.0 from install of MysqL-community-libs-compat-5.6.38-2.el6.x86_64 conflicts with file from package compat-MysqL51-5.1.54-1.el6.remi.x86_64
file /usr/lib64/MysqL/libMysqLclient_r.so.16.0.0 from install of MysqL-community-libs-compat-5.6.38-2.el6.x86_64 conflicts with file from package compat-MysqL51-5.1.54-1.el6.remi.x86_64

我正试图在他们的论坛中解决这个问题.

免责声明:我在语言障碍方面遇到了一些麻烦,但我认为这与你的英语描述有关.

我认为您需要删除使用webtatic安装的软件包,而不仅仅是删除repo.具体来说,它看起来像PHP56w-common来自那个回购,是你麻烦的根源.您将要从remi-PHP56安装PHP 5.6并坚持使用第三方生态系统.

centos下磁盘分区命令

centos下磁盘分区命令

fdisk

命令参数

    p:打印分区表.
    n:新建一个新分区.
    d:删除一个新分区.
    q:退出不保存.
    w:保存退出

举例:
#fdisk /dev/sdc
p查看分区
n 创建分区
输入主分区(p)或者扩展分区(e)  如果有主分区会提示主分区(p)或者逻辑分区(l)
ps:主分区的话会输入分区号(1-4),逻辑分区的话是从5开始,一般默认从头开始就行

输入分区开始位置,按提示默认输入
输入分区结束位置,例如 +300G或者+500M

继续分区重复输入n,方法同上
最后按"p"打印分区表看一下
确认无误  w 保存退出

格式化+挂载
#mkfs.ext4 /dev/sdc1


parted
#parted -l

查看现有分区

举例:
#parted /dev/sdk
mklabel gpt
将磁盘设置为gpt模式

mkpart primary 0 500G
设置主分区大小

mkpart entended 3 100%
将剩余磁盘划给扩展分区

mkpart logic 500G 800G
mkpart logic 800G 100%
设置逻辑分区大小

或者
mkpart primary 2048s -1
将磁盘设置为一个分区

print
打印分区表

ps:
删除分区
rm 分区编号

格式化
#mkfs.ext4 -T largefile -n /dev/sdk1

PS:
模拟格式化
#mkfs.ext4 -n /dev/sdk1
格式化时候带标签
#mkfs.ext4 -T largefile /data8 /dev/sdk1


今天关于解决CentOS下磁盘乱序的问题centos 磁盘的分享就到这里,希望大家有所收获,若想了解更多关于Centos Linux 开启端口 - 解决Centos发布服务外网访问不了的问题、Centos 下磁盘管理、centos6 – 如何解决Centos 6中的包冲突问题、centos下磁盘分区命令等相关知识,可以在本站进行查询。

本文标签: