[TOC]

此文档最新版本

简介

Ceph 始于加州大学圣克鲁兹分校的 Sage Weil 的博士学位课题。但从 2010 年 3 月下旬起,可以在 Linux 主流内核中找到 Ceph (从 2.6.34 内核起)。 Ceph 不仅仅是一个文件系统,还是一个有企业级功能的对象存储生态环境。向上提供C/C++ api、CephFS、EBS、S3/Swift等丰富的功能。 本文将介绍使用 ceph deploy 工具在 centos7 上进行部署的方法.

架构划分

Ceph 生态系统架构可以划分为四部分,如下图所示。

Clients

客户端(数据用户)

mds-cluster

Metadata server cluster,元数据服务器(缓存和同步分布式元数据)。
Ceph 元数据服务器( mds )为 Ceph 文件系统存储元数据(也就是说,Ceph 块设备和 Ceph 对象存储不使用mds )。元数据服务器使得 POSIX 文件系统的用户们,可以在不对 Ceph 存储集群造成负担的前提下,执行诸如 ls、find 等基本命令。

OSD-cluster

Object storage cluster,对象存储集群(将数据和元数据作为对象存储,执行其他关键职能)。 Ceph OSD 守护进程( Ceph OSD )的功能是存储数据,处理数据的复制、恢复、回填、再均衡,并通过检查其他OSD 守护进程的心跳来向 Ceph Monitors 提供一些监控信息。当 Ceph 存储集群设定为有2个副本时,至少需要2个 OSD 守护进程,集群才能达到 active+clean 状态( Ceph 默认有3个副本,但你可以调整副本数)。

Monitor-Cluster

Cluster monitors,集群监视器(执行监视功能)。 Ceph Monitor维护着展示集群状态的各种图表,包括监视器图、 OSD 图、归置组( PG )图、和 Crush 图。 Ceph 保存着发生在Monitors 、 OSD 和 PG上的每一次状态变更的历史信息(称为 epoch )。

Ceph 存储集群至少需要一个 Ceph Monitor 和两个 OSD 守护进程。而运行 Ceph 文件系统客户端时,则必须要有元数据服务器( Metadata Server )。

Ceph 把客户端数据保存为存储池内的对象。通过使用 Crush 算法, Ceph 可以计算出哪个归置组(PG)应该持有指定的对象(Object),然后进一步计算出哪个 OSD 守护进程持有该归置组。 Crush 算法使得 Ceph 存储集群能够动态地伸缩、再均衡和修复。

部署环境拓扑

操作系统: CentOS 7.2 Ceph版本: Jewel 四台虚拟机,部署拓扑如下。

环境准备

安装Ceph部署工具。

dfs1作为ceph-deploy的部署管理节点,在dfs1上添加ceph yum源,安装ceph-deploy。 如果 ceph-deploy 以某个普通用户登录,那么这个用户必须有无密码使用 sudo 的权限。

红帽包管理工具(RPM)

sudo yum install -y yum-utils && sudo yum-config-manager --add-repo https://dl.fedoraproject.org/pub/epel/7/x86_64/ && sudo yum install --nogpgcheck -y epel-release && sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 && sudo rm /etc/yum.repos.d/dl.fedoraproject.org*

把软件包源加入软件仓库。用文本编辑器创建一个 YUM (Yellowdog Updater,Modified) 库文件,其路径为 /etc/yum.repos.d/ceph.repo 。

sudo vim /etc/yum.repos.d/ceph.repo

把如下内容粘帖进去,最后保存到 /etc/yum.repos.d/ceph.repo 文件中。

[ceph-noarch]
name=Ceph noarch packages
baseurl=http://download.ceph.com/rpm-jewel/el7/noarch/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc

更新软件库并安装 ceph-deploy :

sudo yum update && sudo yum install ceph-deploy

NTP服务

在四台机器上全都执行。 确保在各 Ceph 节点上启动了 NTP 服务,并且要使用同一个 NTP 服务器。

yum install -y ntp ntpdate ntp-doc
systemctl start ntpd.service 
systemctl enable ntpd.service

建立work账户 && SSH相关

在四台机器上全都执行。
work账号必须能够通过 SSH 无密码地访问各 Ceph 节点
work账号在所有节点拥有免密码使用sudo的权限. 部署操作使用work账号操作.

无密码使用sudo权限

在 /etc/sudoers 中添加work那一行,最终应该这样:

...
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
work    ALL=(root) nopASSWD:ALL
...

注意,如出现设置完成以后,仍无法免密码使用sudo的情况,那先运行 groups 命令,确认自己只属于 work 组里面.

openssh-server 服务

yum install -y openssh-server
systemctl start sshd.service   # 启动sshd service
systemctl enable sshd.service  # 设置sshd开机启动

无密码 SSH 登录

自己百度.

其他设置

禁用requiretty。

在 CentOS 和 RHEL 上执行 ceph-deploy 命令时可能会报错。如果你的 Ceph 节点默认设置了 requiretty ,执行 sudo visudo 禁用它,并找到 Defaults requiretty 选项,把它改为 Defaults:ceph !requiretty 或者直接注释掉,这样 ceph-deploy 就可以用之前创建的用户(创建部署 Ceph 的用户 )连接了。

关闭防火墙。

systemctl stop firewalld.service 
systemctl disable firewalld.service

SELINUX

在 CentOS 和 RHEL 上, SELinux 默认为 Enforcing 开启状态。为简化安装,我们建议把 SELinux 设置为 Permissive 或者完全禁用,也就是在加固系统配置前先确保集群的安装、配置没问题。用下列命令把 SELinux 设置为 Permissive:

sudo setenforce 0

要使 SELinux 配置永久生效(如果它的确是问题根源),需修改其配置文件 /etc/selinux/config 。

优先级/首选项

确保你的包管理器安装了优先级/首选项包且已启用。在 CentOS 上需要安装 EPEL。

sudo yum install yum-plugin-priorities

安装

安装错误清理

如果在某些地方碰到麻烦,想从头再来,可以用下列命令清除配置:

ceph-deploy purgedata {ceph-node} [{ceph-node}]
ceph-deploy forgetkeys

用下列命令可以连 Ceph 安装包一起清除:

ceph-deploy purge {ceph-node} [{ceph-node}]

例如:

ceph-deploy purge dfs1 dfs2 dfs3 dfs4

如果执行了 purge ,你必须重新安装 Ceph 。

配置 mirror 加速安装过程

因ceph国外源速度很慢,同时不稳定,会导致安装失败,可以配置国内源.

按照操作系统,要装的版本,在所有机器上,不使用repo默认 yum 配置,/etc/yum.repos.d/ceph.repo 配置文件更改如下:

[ceph]
name=Ceph packages for x86_64
baseurl=http://mirrors.ustc.edu.cn/ceph/rpm-jewel/el7/x86_64
enabled=1
priority=1
gpgcheck=1
type=rpm-md
gpgkey=http://mirrors.ustc.edu.cn/ceph/keys/release.asc

[ceph-noarch]
name=Ceph noarch packages
baseurl=http://mirrors.ustc.edu.cn/ceph/rpm-jewel/el7/noarch
enabled=1
priority=1
gpgcheck=1
type=rpm-md
gpgkey=http://mirrors.ustc.edu.cn/ceph/keys/release.asc

[ceph-source]
name=Ceph source packages
baseurl=http://mirrors.ustc.edu.cn/ceph/rpm-jewel/el7/SRPMS
enabled=0
priority=1
gpgcheck=1
type=rpm-md
gpgkey=http://mirrors.ustc.edu.cn/ceph/keys/release.asc

参考: http://docs.ceph.com/docs/master/install/get-packages/#rpm-packages
国内镜像源: http://bbs.ceph.org.cn/?/page/image

注意,如果中途安装失败,使用 ceph-deploy purge xxx 命令清楚过数据,则这个文件会被备份到 /etc/yum.repos.d/ceph.repo.rpmsave,再次安装前,需先将这个文件恢复,以加速安装过程.

集群部署

创建操作目录

先在管理节点上创建一个目录,用于保存 ceph-deploy 生成的配置文件和密钥对。

mkdir ceph-cluster
cd ceph-cluster

修改 /etc/hosts 文件,添加如下内容:

192.168.1.102 dfs1
192.168.1.103 dfs2
192.168.1.104 dfs3
192.168.1.105 dfs4

之后的部署,都是以hostname来进行操作。

注意! hostname里面的机器名字应该和机器的真实hostname相同. 此版本ceph生成文件按照机器hostname生成,而查找此文件是按照hosts文件里面查找,最终出现文件找不到(示例: No such file or directory /var/run/ceph/ceph-mon.dfs2.asok).

创建集群

创建集群,在dfs2、dfs3、dfs4上部署monitor。

ceph-deploy new dfs2 dfs3 dfs4

在当前目录下用 ls 和 cat 检查 ceph-deploy 的输出,应该有一个 Ceph 配置文件、一个 monitor 密钥环和一个日志文件。详情见 ceph-deploy new -h 。

更改配置

如下示例把 ./ceph.conf 里的默认副本数从 3 改成 2,把下面这行加入 [global] 段:

osd pool default size = 2

安装Ceph

ceph-deploy install dfs1 dfs2 dfs3 dfs4

[注意]

安装过程中可能会报如下错误:

  1. [ceph_deploy][ERROR ] RuntimeError: NoSectionError: No section: 'ceph' 执行 sudo yum remove ceph-release 即可,重新安装即可。
  2. 超时失败,No data was received after 300 seconds 因为ceph源速度太慢,ceph-deploy端报超时的错误。 直接到各节点执行如下命令:
sudo rpm --import https://download.ceph.com/keys/release.asc && sudo rpm -Uvh --replacepkgs https://download.ceph.com/rpm-jewel/el7/noarch/ceph-release-1-0.el7.noarch.rpm && sudo yum -y install ceph ceph-radosgw

等待安装完成,再重新执行ceph-deploy安装即可。

配置初始 monitor(s)、并收集所有密钥:

ceph-deploy mon create-initial

完成上述操作后,当前目录里应该会出现这些密钥环:
{cluster-name}.client.admin.keyring
{cluster-name}.bootstrap-osd.keyring
{cluster-name}.bootstrap-mds.keyring
{cluster-name}.bootstrap-rgw.keyring

存储相关服务部署

部署OSD节点

将dfs2、dfs3、dfs4作为集群的OSD节点,在这三台机器上创建目录。

ssh dfs2
sudo mkdir -p /opt/data/ceph/osd0
sudo chown -R ceph.ceph /opt/data/ceph
exit
ssh dfs3
sudo mkdir -p /opt/data/ceph/osd1
sudo chown -R ceph.ceph /opt/data/ceph
exit
ssh dfs4
sudo mkdir -p /opt/data/ceph/osd2
sudo chown -R ceph.ceph /opt/data/ceph
exit

注意,文件目录权限都应该是ceph这个用户下的. 如果是work用户,会导致无法访问.

prepare and activate OSDs:

ceph-deploy osd prepare dfs2:/opt/data/ceph/osd0 dfs3:/opt/data/ceph/osd1 dfs4:/opt/data/ceph/osd2
ceph-deploy osd activate dfs2:/opt/data/ceph/osd0 dfs3:/opt/data/ceph/osd1 dfs4:/opt/data/ceph/osd2

新版本的Ceph支持的默认存储FS为XFS,如果使用ext4的话,需要重新挂载,加入user_xattr参数( ceph.conf 配置文件的 [osd] 段下加入: filestore xattr use omap = true)。
参考 http://docs.ceph.org.cn/rados/configuration/filesystem-recommendations/#index-1

配置文件和admin秘钥部署

ceph-deploy admin dfs1 dfs2 dfs3 dfs4

确保对 ceph.client.admin.keyring 有正确的操作权限。(尽量在每台机器上都执行)

sudo chmod +r /etc/ceph/ceph.client.admin.keyring

检查集群的健康状况

ceph health

添加元数据服务

我们将元数据服务放在dfs1上。

ceph-deploy mds create dfs1

当前生产环境下的 Ceph 只能运行一个元数据服务器。你可以配置多个,但现在Ceph尚未为多个元数据服务器的集群提供商业支持。

RGW对象网关组件部署

  • 安装 CEPH 对象网关 在dfs1节点的的工作目录执行如下命令,在 dfs1 上安装 Ceph 对象网关软件包。
ceph-deploy install --rgw dfs1
  • 新建 CEPH 对象网关实例 执行如下命令:
ceph-deploy rgw create dfs1

一旦网关开始运行,你就可以通过 7480 端口来访问它(比如 http://dfs1:7480 )。

RGW默认监听7480端口,可以更改dfs1节点上ceph.conf内与rgw相关的配置,详细配置参照官网文档。
注意,ceph默认不对索引数据写入进行分片,导致小文件大量写入成为瓶颈. 如果有大量小文件持续写入的情景,需先设置分片数(rgw_override_bucket_index_max_shards),再创建bucket.

  • 简单测试
curl http://dfs1:7480

应答如下:

<?xml version="1.0" encoding="UTF-8"?>
<ListAllMyBucketsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <Owner>
        <ID>anonymous</ID>
        <displayName></displayName>
    </Owner>
    <Buckets>
    </Buckets>
</ListAllMyBucketsResult>

动态扩容

Ceph支持动态增加OSD、monitor等组件,自动进行数据的均衡操作。详细操作请参照官网文档。

使用

块设备简单使用

在dfs1上挂载一个2G的块设备。 创建块设备的image,并将该image映射为块设备。

rbd create foo --size 2048 -m 192.168.1.103  --image-format 2 --image-feature  layering
sudo rbd map foo --name client.admin -m 192.168.1.103 -k /etc/ceph/ceph.client.admin.keyring

创建文件系统,挂载之后就可以使用了。

sudo mkfs.ext4 /dev/rbd/rbd/foo
mkdir /opt/data/ceph/ebs_foo
sudo mount /dev/rbd/rbd/foo /opt/data/ceph/ebs_foo

用df -h查看,如下所示:

/dev/rbd0               2.0G  6.0M  1.8G    1% /opt/data/ceph/ebs_foo

CephFS 简单使用

创建文件系统

虽然已创建了元数据服务器(存储集群快速入门),但如果没有创建存储池和文件系统,它是不会变为活动状态的。

ceph osd pool create fs_data 16
ceph osd pool create fs_Meta 16
ceph fs new fs_kernel fs_Meta fs_data

创建密钥文件

Ceph 存储集群默认启用认证,你应该有个包含密钥的配置文件(但不是密钥环本身)。用下述方法获取某一用户的密钥:

  • 在密钥环文件中找到与某用户对应的密钥,例如:
cat ceph.client.admin.keyring
  • 找到用于挂载 Ceph 文件系统的用户,复制其密钥。大概看起来如下所示:
[client.admin]
   key = AQCj2YpRiAe6CxAA7/ETt7Hcl9IyxyYciVs47w==
  • 打开文本编辑器。把密钥粘帖进去:
echo "AQCj2YpRiAe6CxAA7/ETt7Hcl9IyxyYciVs47w==" > admin.secret

确保此文件对用户有合适的权限,但对其他用户不可见。

内核文件系统

把 Ceph FS 挂载为内核驱动。

mkdir /opt/data/ceph/fs_kernel
sudo mount -t ceph 192.168.1.103:6789:/ /opt/data/ceph/fs_kernel -o name=admin,secretfile=admin.secret

用户空间文件系统(FUSE)

把 Ceph FS 挂载为用户空间文件系统( FUSE )。

sudo mkdir /opt/data/ceph/fs_fuse
sudo ceph-fuse -k ./ceph.client.admin.keyring -m 192.168.1.103:6789 /opt/data/ceph/fs_fuse

对象存储使用

S3功能配置

  • 新建用户和 KEYRING 为每一个实例生成一个 Ceph 对象网关用户名和key. 举一个典型实例,我们将使用 client.radosgw 后使用 gateway 作为用户名,在 dfs1 的 /home/work/ceph-cluster 目录下执行:
sudo ceph auth get-or-create client.radosgw.gateway osd 'allow rwx' mon 'allow rwx' -o /etc/ceph/ceph.client.radosgw.keyring
  • 创建存储池

最新版本不用手工创建,会自动创建.

sudo ceph osd pool create .rgw 128 128  
sudo ceph osd pool create .rgw.root 128 128  
sudo ceph osd pool create .rgw.control 128 128  
sudo ceph osd pool create .rgw.gc 128 128  
sudo ceph osd pool create .rgw.buckets 128 128  
sudo ceph osd pool create .rgw.buckets.index 128 128  
sudo ceph osd pool create .rgw.buckets.extra 128 128  
sudo ceph osd pool create .log 128 128  
sudo ceph osd pool create .intent-log 128 128  
sudo ceph osd pool create .usage 128 128  
sudo ceph osd pool create .users 128 128  
sudo ceph osd pool create .users.email 128 128  
sudo ceph osd pool create .users.swift 128 128  
sudo ceph osd pool create .users.uid 128 128

完成上述步骤之后,执行下列的命令确认前述存储池都已经创建了:

rados lspools
  • 使用网关 radosgw 用户需要新建并且赋予访问权限. 命令 man radosgw-admin 将展示提供更多额外的命令选项信息.为了新建用户,在 gateway host 上执行下面的命令:
sudo radosgw-admin user create --uid="testuser" --display-name="First User"

上述命令的输出结果类似下面这样:

{
    "user_id": "testuser","display_name": "First User","email": "","suspended": 0,"max_buckets": 1000,"auid": 0,"subusers": [],"keys": [
        {
            "user": "testuser","access_key": "90WUIXXUW8P25TS0QQX0","secret_key": "ckFtAughCWmhDOi8jmBf0nchUkAyODvNetuOB45T"
        }
    ],"swift_keys": [],"caps": [],"op_mask": "read,write,delete","default_placement": "","placement_tags": [],"bucket_quota": {
        "enabled": false,"max_size_kb": -1,"max_objects": -1
    },"user_quota": {
        "enabled": false,"temp_url_keys": []
}
  • 访问验证
sudo yum install python-boto

新建一个python文件,比如 s3_test.py,添加如下内容:

#coding:utf-8

import boto
import boto.s3.connection

access_key = "90WUIXXUW8P25TS0QQX0"
secret_key = 'ckFtAughCWmhDOi8jmBf0nchUkAyODvNetuOB45T'

conn = boto.connect_s3(
        aws_access_key_id = access_key,aws_secret_access_key = secret_key,host = 'dfs1',port = 7480,is_secure=False,calling_format = boto.s3.connection.OrdinaryCallingFormat(),)

bucket = conn.create_bucket('my-new-bucket2')

for bucket in conn.get_all_buckets():
    print "%s\t%s" % (bucket.name,bucket.creation_date)

执行结果:

my-new-bucket2	2016-08-12T04:38:01.000Z

References

  1. Ceph——一个 PB 规模的 Linux 分布式文件系统
  2. 官方文档

Ceph部署文档 centos 7的更多相关文章

  1. ios – Swift:自定义相机使用图像保存修改后的元数据

    我试图保存图像样本缓冲区中的一些元数据以及图像.我需要:>将图像旋转到元数据的方向>从元数据中删除方向>将日期保存到元数据中>将包含元数据的图像保存到文档目录我试过从数据创建一个UIImage,但是删除了元数据.我已经尝试使用数据中的CIImage来保存元数据,但是我无法将其旋转然后将其保存到文件中.这是我保存图像的代码.解决方法我最终弄清楚如何让一切按照我需要的方式工作.对我帮助最大的事情是发现

  2. ios – 如何为多个目标提供传送(fastlane)下载元数据?

    附:这是一个很大的遗留项目,所以将它分成六个不同的项目会很棒,但不幸的是,这不是一个选择.解决方法我一直在努力解决这个问题,使用.env文件设置提交很容易.但是检索初始数据很困难,但并非不可能.要获取元数据,它运行此命令:并为截图:

  3. ios – 从MPMoviePlayerController获取MetaData

    代码!

  4. ios – 从音频流中获取元数据

    我想获取文件名,如果可能的话,可以从我在AVQueuePlayer上播放的AVPlayerItem中的流式URL中的相册图像,但是我不知道该怎么做.另外如果事实证明,我的流网址没有任何元数据,我可以将元数据放入我的NSURL*,然后传递给AVPlayerItem?

  5. 在iOS上保存修改后的元数据(无需重新编码)的原始图像数据

    我想在temp文件夹中保存一些元数据更改的图像,而无需重新编码实际的图像数据.我发现能够做到这一点的唯一方法是ALAssetsLibrary/writeImageDataToSavedPhotosAlbum:metadata:completionBlock:,但是,这个方法将图像保存到照片库中.相反,我想将图像保存到临时文件夹(例如,通过电子邮件分享,而不填充照片库).我试过使用CGImageDe

  6. iOS应用程序审核队列,如果您更改元数据,是否重置?

    我知道更新并重新提交您的应用程序二进制文件让您回到iOS应用程序市场审核队列,并将时钟重新设置为6–8天的等待时间...但有人知道如果更改元数据也会使您处于队列的后面?我的第一个二进制文件在5天内被批准和发布(是),但是我提交的更新已经在那里等待10天了...也许是因为我已经添加了一些描述翻译,并更改了截图?

  7. OpenStack对象存储――Swift

    Swift前身是RackspaceCloudFiles项目,随着Rackspace加入到OpenStack社区,于2010年7月贡献给OpenStack,作为该开源项目的一部分。Swift目前的最新版本是OpenStackEssex1.5.1。Swift特性在OpenStack官网中,列举了Swift的20多个特性,其中最引人关注的是以下几点。在OpenStack中还可以与镜像服务Glance结合,为其存储镜像文件。Auth认证服务目前已从Swift中剥离出来,使用OpenStack的认证服务Keysto

  8. 对象存储系统Swift技术详解:综述与概念

    通过阅读Swift的技术文档,我们可以理解其中的设计的原理和实现的方法。本人于9月底开始接触swift,刚开始看文档的时候一知半解,有幸阅读了zzcase等人的博客,才得以入门。随着对swift设计原理的理解和源码的深入,文档经过数次反复的修改,希望对各位学习swift的童鞋有所帮助,水平有限,若各位发现有错误之处,恳请指出。

  9. 《转》OpenStack对象存储——Swift

    Swift前身是RackspaceCloudFiles项目,随着Rackspace加入到OpenStack社区,于2010年7月贡献给OpenStack,作为该开源项目的一部分。Swift目前的最新版本是OpenStackEssex1.5.1。Swift特性在OpenStack官网中,列举了Swift的20多个特性,其中最引人关注的是以下几点。在OpenStack中还可以与镜像服务Glance结合,为其存储镜像文件。Auth认证服务目前已从Swift中剥离出来,使用OpenStack的认证服务Keysto

  10. Ceph vs Swift - 架构剖析

    Ceph和Swift,哪种更好?当工程师们讨论存储,谈到Ceph和Swift时,他们通常都一致认为其中一个非常棒,另外一个却很糟糕。另一个原因,也是很多人认为Ceph更好的原因,是Swift不支持块存储和文件存储。Ceph的另一个短板是安全性。一个原因是Ceph只能同步写入,并且要求写入节点达到quorum数才能成功返回。比如,可以使用Ceph作为本地高性能存储,而Swift则作为多地域Glance后台,这时复制很重要而速度并不关键。

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部