## 创建CEPH的文件系统[](https://docs.ceph.com/docs/master/cephfs/createfs/#create-a-ceph-file-system "此标题的永久链接")
## 创建池[](https://docs.ceph.com/docs/master/cephfs/createfs/#creating-pools "此标题的永久链接")
一个Ceph文件系统至少需要两个RADOS池,一个用于数据,另一个用于元数据。配置这些池时,您可以考虑:
* 对元数据池使用更高的复制级别,因为此池中的任何数据丢失都可能导致整个文件系统无法访问。
* 对元数据池使用较低延迟的存储(例如SSD),因为这将直接影响在客户端上观察到的文件系统操作的延迟。
* 用于创建文件系统的数据池是“默认”数据池,并且是用于存储所有inode追溯信息的位置,用于硬链接管理和灾难恢复。因此,在CephFS中创建的所有inode在默认数据池中至少具有一个对象。如果为文件系统计划了擦除编码的池,通常最好将复制池用于默认数据池,以提高小对象的读写性能以更新回溯。另外,可以添加另一个可擦除编码的数据池(另请参见[擦除代码](https://docs.ceph.com/docs/master/rados/operations/erasure-code/#ecpool)),该数据池可用于目录和文件的整个层次结构(另请参见[文件布局](https://docs.ceph.com/docs/master/cephfs/file-layouts/#file-layouts))。
请参阅[池](https://docs.ceph.com/docs/master/rados/operations/pools/)以了解有关管理池的更多信息。例如,要使用默认设置创建两个池以供文件系统使用,可以运行以下命令:
~~~
$ ceph osd pool create cephfs_data
$ ceph osd pool create cephfs_metadata
~~~
通常,元数据池最多具有几GB的数据。因此,通常建议使用较小的PG数量。实际上,大型集群通常使用64或128。
注意,文件系统,元数据池和数据池的名称在集合\[a-zA-Z0-9\_-。\]中只能包含字符。
## 创建文件系统[](https://docs.ceph.com/docs/master/cephfs/createfs/#creating-a-file-system "此标题的永久链接")
创建池后,可以使用以下命令启用文件系统:`fsnew`
~~~
$ ceph fs new
~~~
例如:
~~~
$ ceph fs new cephfs cephfs_metadata cephfs_data
$ ceph fs ls
name: cephfs, metadata pool: cephfs_metadata, data pools: [cephfs_data ]
~~~
创建文件系统后,您的MDS将能够进入*活动*状态。例如,在单个MDS系统中:
~~~
$ ceph mds stat
cephfs-1/1/1 up {0=a=up:active}
~~~
创建文件系统并且MDS处于活动状态之后,就可以安装文件系统了。如果创建了多个文件系统,则将选择安装时使用的文件系统。
> * [装载CephFS](https://docs.ceph.com/docs/master/cephfs/mount-using-kernel-driver)
> * [将CephFS挂载为FUSE](https://docs.ceph.com/docs/master/cephfs/mount-using-fuse)
如果创建了多个文件系统,并且客户端在挂载时未指定文件系统,则可以使用ceph fs set-default命令控制它们将看到的文件系统。
## 将擦除编码池与CEPHFS一起使用[](https://docs.ceph.com/docs/master/cephfs/createfs/#using-erasure-coded-pools-with-cephfs "此标题的永久链接")
您可以将擦除编码池用作CephFS数据池,只要它们启用了覆盖即可,操作如下:
~~~
ceph osd pool set my_ec_pool allow_ec_overwrites true
~~~
请注意,仅当OSDS与BlueStore后端一起使用时才支持EC覆盖。
您不能将擦除编码池用作CephFS元数据池,因为CephFS元数据是使用EC池无法存储的RADOS*OMAP*数据结构存储的。