这篇文章主要围绕解决CentOS下磁盘乱序的问题和centos磁盘展开,旨在为您提供一份详细的参考资料。我们将全面介绍解决CentOS下磁盘乱序的问题的优缺点,解答centos磁盘的相关问题,同时也会
这篇文章主要围绕解决CentOS下磁盘乱序的问题和centos 磁盘展开,旨在为您提供一份详细的参考资料。我们将全面介绍解决CentOS下磁盘乱序的问题的优缺点,解答centos 磁盘的相关问题,同时也会为您带来Centos Linux 开启端口 - 解决Centos发布服务外网访问不了的问题、Centos 下磁盘管理、centos6 – 如何解决Centos 6中的包冲突问题、centos下磁盘分区命令的实用方法。
本文目录一览:- 解决CentOS下磁盘乱序的问题(centos 磁盘)
- Centos Linux 开启端口 - 解决Centos发布服务外网访问不了的问题
- Centos 下磁盘管理
- centos6 – 如何解决Centos 6中的包冲突问题
- 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发布服务外网访问不了的问题
- # -------------- 查看服务器端口状态--------------------
- [root@zjxl-2 etc]#/etc/init.d/iptables status
- Table: filter
- Chain INPUT (policy DROP)
- num target prot opt source destination
- 1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
- 2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
- 3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
- 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
- 5 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
- Chain FORWARD (policy ACCEPT)
- num target prot opt source destination
- Chain OUTPUT (policy ACCEPT)
- num target prot opt source destination
- # ----------------------------发现没有开启6379和6380端口--------------------------------
- # ----------------------------------开启6379端口---------------------------------
- [root@zjxl-2 etc]# /sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
- [root@zjxl-2 etc]# /etc/init.d/iptables status
- Table: filter
- Chain INPUT (policy DROP)
- num target prot opt source destination
- 1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:6379
- 2 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
- 3 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
- 4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
- 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
- 6 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
- Chain FORWARD (policy ACCEPT)
- num target prot opt source destination
- Chain OUTPUT (policy ACCEPT)
- num target prot opt source destination
- # ----------------------------------开启6380端口---------------------------------
- [root@zjxl-2 etc]# /sbin/iptables -I INPUT -p tcp --dport 6380 -j ACCEPT
- # ------------------------------ 查看服务器端口状态---------------------------
- [root@zjxl-2 etc]# /etc/init.d/iptables status
- Table: filter
- Chain INPUT (policy DROP)
- num target prot opt source destination
- 1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:6380
- 2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:6379
- 3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
- 4 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
- 5 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
- 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
- 7 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
- Chain FORWARD (policy ACCEPT)
- num target prot opt source destination
- Chain OUTPUT (policy ACCEPT)
- num target prot opt source destination
- # ----------------------------------保存修改配置 ---------------------------------
- [root@zjxl-2 etc]# /etc/rc.d/init.d/iptables save
- Saving firewall rules to /etc/sysconfig/iptables: [ OK ]
- [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 下磁盘管理
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中的包冲突问题
我使用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下磁盘分区命令
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
将磁盘设置为一个分区
打印分区表
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下磁盘分区命令等相关知识,可以在本站进行查询。
本文标签: