現在、私はSAIOによってインストールされたopenstack swift runningを備えた仮想ボックスに1つのCentOSを持っています。NFSをopenstack swift storage nodeにマウントできますか?
質問:nfsをマウントするノードにはデータが格納されません。
たとえば、カールでコンテナを作成すると、出力は201を返します。ただし、マウントされたディレクトリにはデータはありません。私は/var/log/swift/proxy.errorをファイルを参照し、それが
Error Insufficient storage balabala...
誰もがこの問題が発生し、それを修正する方法をなぜ理解に役立つだろうを示して?
ありがとうございます!
確かに、マウントされたノードに関するいくつかのログがあります。 SAIOガイドに従うことで、$ {USER}以外の構成はほとんど変わりません。ユーザー名とグループ名に「osddev」を使用します。
/dev/sdb1 on /mnt/sdb1 type xfs (rw,noatime,nodiratime,seclabel,attr2,nobarrier,inode64,logbufs=8,noquota)
そして、それぞれ1、2、3、4という名前の/ mnt/sdb1の下に4つのディレクトリがあります。 私は、ディレクトリのNFSマウント「2」、
を私はこのようなマウント:
mount.nfs 192.168.0.1:/mnt/path/to/mount /mnt/sdb1/2
とコマンドの出力「マウント」
192.168.0.1:/mnt/path/to/mount on /mnt/sdb1/2 type nfs4(rw,relatime,vers=4.0,rsize=1048576,wsize=1048576,namlen=...,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.0.2,local_lock=none,addr=192.168.0.1)
のフォルダの構造に似ています'mnt'は次のようなものです:
/mnt/sdb1 /1 /node /sdb1 /accounts /containers /objects /tmp /2 /node /sdb2 /containers /tmp /3 /node /sdb3 /accounts /containers /objects /tmp /4 /node /sdb4 /accounts /containers /objects /tmp
マウントが完了したら、新しいコンテナを作成しようとしましたが、/mnt/sdb1/2/node/sdb2/containers/291/6ab/48ce59400b16f806fe2fee7e40e236asディレクトリにdbファイル名 '48ce59400b16f806fe2fee7e40e236as.db'と別のファイル '48ce59400b16f806fe2fee7e40e236as.db.pending'がありました。これは/ mnt/sdb1の下の他のディレクトリと同じでした。
新しいオブジェクトを作成しようとすると、/ mnt/sdb1/2/node/sdb1の下に 'objects'ディレクトリがあります。しかし、/ mnt/sdb1/1や/ mnt/sdb1/3のような他のディレクトリでは、 'objects'ディレクトリが存在していました。
そこで、/ var/log/swiftのエラーログをチェックアウトしました。 そして私は、私は以下のそれらをリストアップします、ログ 'proxy.error' と 'storage2.error' で、多少の誤差があったことが判明:
proxy.error:
Jun 8 17:26:33 localhost proxy-server: Started child 4024 Jun 8 17:27:04 localhost proxy-server: STDERR: (4024) wsgi starting up on http://127.0.0.1:8080/ Jun 8 17:28:22 localhost proxy-server: STDERR: (4024) accepted ('127.0.0.1', 57718) Jun 8 17:28:22 localhost proxy-server: STDERR: 127.0.0.1 - - [08/Jun/2017 09:28:22] "GET /auth/v1.0 HTTP/1.1" 200 356 0.004022 (txn: tx016fa30128e74197af806-00593918b6) Jun 8 17:29:39 localhost proxy-server: STDERR: (4024) accepted ('127.0.0.1', 57721) Jun 8 17:29:41 localhost proxy-server: ERROR Insufficient Storage 127.0.0.1:6020/sdb2 (txn: tx45826ac5bc284bd8b15a6-0059391903) Jun 8 17:29:41 localhost proxy-server: STDERR: 127.0.0.1 - - [08/Jun/2017 09:29:41] "PUT /v1/AUTH_test/annecontainer/annefile3 HTTP/1.1" 201 254 1.474424 (txn: tx45826ac5bc284bd8b15a6-0059391903)
storage2.error
Jun 8 17:26:31 localhost account-server: Started child 4004 Jun 8 17:26:31 localhost container-server: Started child 4007 Jun 8 17:26:32 localhost object-server: Started child 4016 Jun 8 17:27:03 localhost object-server: STDERR: (4016) wsgi starting up on 127.0.0.1:6020/ Jun 8 17:27:03 localhost account-server: STDERR: (4004) wsgi starting up on 127.0.0.1:6022/ Jun 8 17:27:03 localhost container-server: STDERR: (4007) wsgi starting up on 127.0.0.1:6021/ Jun 8 17:29:39 localhost object-server: STDERR: (4016) accepted ('127.0.0.1', 43279) Jun 8 17:29:40 localhost object-server: STDERR: ERROR:root:Filesystem at 9 does not support xattr#012Traceback (most recent call last):#012 File "/home/osddev/swift/swift/obj/diskfile.py", line 150, in write_metadata#012 metastr[:xattr_size])#012 File "/usr/lib64/python2.7/site-packages/xattr-0.9.1-py2.7-linux-x86_64.egg/xattr/init.py", line 185, in setxattr#012 return xattr(f).set(attr, value, options=options)#012 File "/usr/lib64/python2.7/site-packages/xattr-0.9.1-py2.7-linux-x86_64.egg/xattr/init.py", line 78, in set#012 return self._call(_setxattr, _fsetxattr, name, value, 0, options | self.options)#012 File "/usr/lib64/python2.7/site-packages/xattr-0.9.1-py2.7-linux-x86_64.egg/xattr/init.py", line 58, in _call#012 return fd_func(self.value, *args)#012 File "/usr/lib64/python2.7/site-packages/xattr-0.9.1-py2.7-linux-x86_64.egg/xattr/lib.py", line 106, in _fsetxattr#012 raise error()#012 File "/usr/lib64/python2.7/site-packages/xattr-0.9.1-py2.7-linux-x86_64.egg/xattr/lib.py", line 48, in error#012 raise IOError(errno, strerror)#012IOError: [Errno 95] Operation not supported Jun 8 17:29:41 localhost container-server: STDERR: (4007) accepted ('127.0.0.1', 45775) Jun 8 17:29:41 localhost object-server: STDERR: 127.0.0.1 - - [08/Jun/2017 09:29:41] "PUT /sdb2/957/AUTH_test/annecontainer/annefile3 HTTP/1.1" 507 263 1.300362 (txn: tx45826ac5bc284bd8b15a6-0059391903) Jun 8 17:29:41 localhost container-server: STDERR: 127.0.0.1 - - [08/Jun/2017 09:29:41] "PUT /sdb2/291/AUTH_test/annecontainer/annefile3 HTTP/1.1" 201 120 0.044787 (txn: tx45826ac5bc284bd8b15a6-0059391903)
これまでのところ、nfsはxattrをサポートしていないことに気付きました。それが問題の原因でしたか?
私がしたいのは、swift-on-fileを使って/ mnt/sdb1/2のように(nfsで)マウントされたディレクトリにデータを格納することです。
ログライン全体をエラーで貼り付けることはできますか?あなたが持っているストレージシステムの種類について、スウィフトは気にいっぱいです。 Btw、あなたはどのデータを探していますか? –
@NelsonMarcos自由時間がある場合は私の質問を更新してください。 – tommyjin