ECS. Ошибки удаленного ввода-вывода NFS; Изменение владельца контейнера для контейнера с файловой системой может привести к тому, что приложения и/или пользователи не смогут получить доступ к файлам NFS
요약: Предыдущий владелец контейнера не допускается и не ограничивает доступ к ObjectControllerException: Обновление методаОбнашниеВнальный не разрешен для предыдущего владельца контейнера
이 문서는 다음에 적용됩니다.
이 문서는 다음에 적용되지 않습니다.
이 문서는 특정 제품과 관련이 없습니다.
모든 제품 버전이 이 문서에 나와 있는 것은 아닙니다.
증상
Изменение, внесенные пользователем на страницу владельца контейнера в пользовательском интерфейсе:
Эта проблема относится к контейнерам с поддержкой NFS и изменению владельца контейнера пользовательским интерфейсом. Это может привести к потере доступа приложений или пользователей к контейнеру в файловой системе Linux. Даже если вернуть изменения исходному владельцу, снова получить доступ будет невозможно, что приведет к недоступности данных (DU).
В данном примере:
владелец контейнера был изменен на «12» с помощью пользовательского интерфейса. Из-за ограничения в ECS даже после изменения имени владельца контейнера обратно на «1». ECS не будет менять владельца контейнера на «1» с помощью пользовательского интерфейса. Это можно сделать только на данный момент с помощью интерфейса командной строки с помощью API-интерфейса с загружаемой нагрузкой для сброса флага пользователя до true.
Способы определения проблемы: на компьютере Linux попросите пользователя коснуться файла, например:
Эта проблема относится к контейнерам с поддержкой NFS и изменению владельца контейнера пользовательским интерфейсом. Это может привести к потере доступа приложений или пользователей к контейнеру в файловой системе Linux. Даже если вернуть изменения исходному владельцу, снова получить доступ будет невозможно, что приведет к недоступности данных (DU).
В данном примере:
владелец контейнера был изменен на «12» с помощью пользовательского интерфейса. Из-за ограничения в ECS даже после изменения имени владельца контейнера обратно на «1». ECS не будет менять владельца контейнера на «1» с помощью пользовательского интерфейса. Это можно сделать только на данный момент с помощью интерфейса командной строки с помощью API-интерфейса с загружаемой нагрузкой для сброса флага пользователя до true.
Способы определения проблемы: на компьютере Linux попросите пользователя коснуться файла, например:
admin@node1~>touch file
touch: setting times of `file': Remote I/O error
se svc_log with the string "method updateObjectInternal "
Command:
# svc_log -a -sr dataheadsvc | grep "method updateObjectInternal"
Example:
admin@node1~>svc_log -a -sr dataheadsvc | grep "method updateObjectInternal" svc_log v1.0.22 (svc_tools v1.5.3) Started 2019-06-06 10:45:04 Running on nodes: <All nodes> Time range: 2019-06-05 10:45:04 - 2019-06-06 10:45:04 Filter string(s): <All messages> Show nodename(s): True Search reclaim logs (if any): False com.emc.storageos.data.object.exception.ObjectControllerException: method updateObjectInternal not allowed for previous bucket owner sham1 Caused by: com.emc.storageos.data.object.exception.ObjectControllerException: method updateObjectInternal not allowed for previous bucket owner sham1
원인
Создание контейнера с конкретным пользователем в качестве владельца, а затем изменение владельца контейнера. Наконец, предоставление исходному владельцу полного контроля с помощью страницы списков управления доступом завершается сбоем с исключением журнала ECS:
ObjectControllerException: method updateObjectInternal not allowed for previous bucket owner <ownerid> This is a known issue currently being evaluated by Dell EMC at this time.
해결
Временное решение проблемы — изменить владельца контейнера с помощью API-интерфейса с помощью интерфейса командной строки, чтобы сбросить значение флага владельца на true.
1. Определите текущего владельца контейнера.
2. Создайте простой файл xml с помощью редактора vi. В приведенном ниже примере он называется /tmp/bucket-owner.xml. Это двухшаговые процессы. Необходимо временно задать его новому владельцу2. Как в приведенном ниже примере, перед тем как вернуться к первоначальному владельцу «1», подтвердите выходные данные:
. 7. После завершения изменения конфигурации эта ошибка больше не будет отображаться.
1. Определите текущего владельца контейнера.
Для создания TOKEN требуется пароль root пользовательского интерфейса. Пример.
admin@ecsnode1:~> tok=$(curl -iks https://XX.XX.XX.XX:4443/login -u 'root:ChangeMe' | grep X-SDS-AUTH-TOKEN)
Проверьте текущего владельца контейнера (замените контейнер и пространство имен в вашей ситуации):
admin@node1:~> curl -s -k -X GET -H "$tok" https://XX.XX.XX.XX:4443/object/bucket/sham_bk_nfs/info?namespace=degreat_nfs | xmllint --format - | grep '<owner>' <owner>sham2</owner>
Это подтверждает, reset_previous_owners параметр должен быть установлен на true. Владелец возвращенного контейнера находится в пользовательском интерфейсе, но API-интерфейс с помощью интерфейса командной строки подтверждает, что ECS по-прежнему видит владельца контейнера как «12».
2. Создайте простой файл xml с помощью редактора vi. В приведенном ниже примере он называется /tmp/bucket-owner.xml. Это двухшаговые процессы. Необходимо временно задать его новому владельцу2. Как в приведенном ниже примере, перед тем как вернуться к первоначальному владельцу «1», подтвердите выходные данные:
admin@node1:~ # vi /tmp/bucket-owner.xml admin@ecsnode1:~ # cat /tmp/bucket-owner.xml <object_bucket_update_owner> <namespace>degreat_nfs</namespace> <new_owner>sham2</new_owner> <reset_previous_owners>true</reset_previous_owners> </object_bucket_update_owner> 3. Change the bucket owner to the temporary owner.
Синтаксис API, необходимый для изменения владельца контейнера на «12» в XML-файле:
admin@ecsnode1:~> curl -v -k -X "POST" "https://xx.xx.xx.xx:4443/object/bucket/sham_bk_nfs/owner" -H "$tok" -H "Content-Type: application/xml" -H "ACCEPT:application/xml" -d @/tmp/bucket-owner.xml -v * Hostname was NOT found in DNS cache * Trying xx.xx.xx.xx... * Connected to xx.xx.xx.xx (xx.xx.xx.xx) port 4443 (#0) * successfully set certificate verify locations: * CAfile: none CApath: /etc/ssl/certs/ * SSLv3, TLS unknown, Certificate Status (22): * SSLv3, TLS handshake, Client hello (1): * SSLv3, TLS handshake, Server hello (2): * SSLv3, TLS handshake, Certificate (11): * SSLv3, TLS handshake, Server key exchange (12): * SSLv3, TLS handshake, Server finished (14): * SSLv3, TLS handshake, Client key exchange (16): * SSLv3, TLS change cipher, Client hello (1): * SSLv3, TLS handshake, Finished (20): * SSLv3, TLS change cipher, Client hello (1): * SSLv3, TLS handshake, Finished (20): * SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384 * Server certificate: * subject: CN=localhost * start date: 2019-03-25 09:53:41 GMT * expire date: 2029-03-22 09:53:41 GMT * issuer: CN=localhost * SSL certificate verify result: self signed certificate (18), continuing anyway. > POST /object/bucket/sham_bk_nfs/owner HTTP/1.1 > User-Agent: curl/7.37.0 > Host: xx.xx.xx.xx:4443 > X-SDS-AUTH-TOKEN: BAAcUy9KYlhxTlVYb2M0bnF3bTNscEsvSEdDeWhJPQMAjAQASHVybjpzdG9yYWdlb3M6VmlydHVhbERhdGFDZW50ZXJEYXRhOmJhOGQ3ZTkzLTMyMGYtNDNmNy05Y2FkLWM4YWQzMWFiMzY1MAIADTE1NTk3Mzk3OTA2MDgDAC51cm46VG9rZW46YjQ4NGNiZjEtNTkwNy00YWI3LTgzYTctM2Y3OGRhM2RiY2NiAgAC0A8= > Content-Type: application/xml > ACCEPT:application/xml > Content-Length: 179 > * upload completely sent off: 179 out of 179 bytes < HTTP/1.1 200 OK < Date: Thu, 06 Jun 2019 10:56:08 GMT < Content-Length: 0 < Connection: keep-alive < * Connection #0 to host xx.xx.xx.xx left intact 4. Edit the simple.xml file previously created in step 2 and this time insert original owner of sham1
admin@node1:~ # vi /tmp/bucket-owner.xml admin@ecsnode1:~ # cat /tmp/bucket-owner.xml <object_bucket_update_owner> <namespace>degreat_nfs</namespace> <new_owner>sham1</new_owner> <reset_previous_owners>true</reset_previous_owners> </object_bucket_update_owner> 5. Change the bucket owner back to the original owner The API syntax required to change the bucket owner back to "sham1" through the xml file is as follows:
admin@ecsnode1:~> curl -v -k -X "POST" "https://xx.xx.xx.xx:4443/object/bucket/sham_bk_nfs/owner" -H "$tok" -H "Content-Type: application/xml" -H "ACCEPT:application/xml" -d @/tmp/bucket-owner.xml -v * Hostname was NOT found in DNS cache * Trying xx.xx.xx.xx... * Connected to xx.xx.xx.xx (xx.xx.xx.xx) port 4443 (#0) * successfully set certificate verify locations: * CAfile: none CApath: /etc/ssl/certs/ * SSLv3, TLS unknown, Certificate Status (22): * SSLv3, TLS handshake, Client hello (1): * SSLv3, TLS handshake, Server hello (2): * SSLv3, TLS handshake, Certificate (11): * SSLv3, TLS handshake, Server key exchange (12): * SSLv3, TLS handshake, Server finished (14): * SSLv3, TLS handshake, Client key exchange (16): * SSLv3, TLS change cipher, Client hello (1): * SSLv3, TLS handshake, Finished (20): * SSLv3, TLS change cipher, Client hello (1): * SSLv3, TLS handshake, Finished (20): * SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384 * Server certificate: * subject: CN=localhost * start date: 2019-03-25 09:53:41 GMT * expire date: 2029-03-22 09:53:41 GMT * issuer: CN=localhost * SSL certificate verify result: self signed certificate (18), continuing anyway. > POST /object/bucket/sham_bk_nfs/owner HTTP/1.1 > User-Agent: curl/7.37.0 > Host: xx.xx.xx.xx:4443 > X-SDS-AUTH-TOKEN: BAAcUy9KYlhxTlVYb2M0bnF3bTNscEsvSEdDeWhJPQMAjAQASHVybjpzdG9yYWdlb3M6VmlydHVhbERhdGFDZW50ZXJEYXRhOmJhOGQ3ZTkzLTMyMGYtNDNmNy05Y2FkLWM4YWQzMWFiMzY1MAIADTE1NTk3Mzk3OTA2MDgDAC51cm46VG9rZW46YjQ4NGNiZjEtNTkwNy00YWI3LTgzYTctM2Y3OGRhM2RiY2NiAgAC0A8= > Content-Type: application/xml > ACCEPT:application/xml > Content-Length: 179 > * upload completely sent off: 179 out of 179 bytes < HTTP/1.1 200 OK < Date: Thu, 06 Jun 2019 10:56:08 GMT < Content-Length: 0 < Connection: keep-alive < * Connection #0 to host xx.xx.xx.xx left intact 6. Confirm the bucket owner change is reflected.
Убедитесь, что смена владельца контейнера теперь выполняется с параметром «1».
admin@ecsnode1:~> curl -s -k -X GET -H "$tok" https://XX.XX.XX.XX:4443/object/bucket/sham_bk_nfs/info?namespace=degreat_nfs | xmllint --format - | grep '<owner>' <owner>sham1</owner>
После восстановления владельца контейнера на API-интерфейсе убедитесь, что хост может получить доступ к контейнеру в файловой системе Linux.
. 7. После завершения изменения конфигурации эта ошибка больше не будет отображаться.
svc_log -f "method updateObjectInternal not allowed" -start "20 hour ago" -sr all -sh -st hour svc_log v1.0.22 (svc_tools v1.6.8) Started 2020-01-23 09:28:17 Running on nodes: <All nodes> Time range: 2020-01-22 13:28:17 - 2020-01-23 09:28:17 Filter string(s): 'method updateObjectInternal not allowed' Show nodename(s): True Search reclaim logs (if any): False Count of message occurrences per hour: 2020-01-22 13:xx - 5066 2020-01-22 14:xx - 9580 2020-01-22 15:xx - 9574 2020-01-22 16:xx - 9580 2020-01-22 17:xx - 9570 2020-01-22 18:xx - 9576 2020-01-22 19:xx - 9564 2020-01-22 20:xx - 9576 2020-01-22 21:xx - 9576 2020-01-22 22:xx - 9572 2020-01-22 23:xx - 9564 2020-01-23 00:xx - 9586 2020-01-23 01:xx - 9574 2020-01-23 02:xx - 9572 2020-01-23 03:xx - 4564 2020-01-23 04:xx - 0 2020-01-23 05:xx - 0 2020-01-23 06:xx - 0 2020-01-23 07:xx - 0 2020-01-23 08:xx - 0 2020-01-23 09:xx - 0 Dell EMC is aware of this issue and are working on a fix in a future release.
추가 정보
Связанные статьи базы знаний NFS:
Вы можете подписаться на обновления, следуя инструкциям в статье базы знаний ниже:
DELL EMC: Как подписаться на страницы продуктов — служба поддержки Dell?
- ECS. Как создать базовый экспорт NFS и смонтировать его на клиенте
- ECS. NFS не удается записать или удалить объекты
- ECS. После модернизации до версии 3.2 при записи больших файлов NFS из ESXi могут происходить сбои
- ECS. Сброс конфигурации экспорта NFS после добавления нового экспорта в среде с несколькими VDC
- ECS. Ошибка потоковой передачи журнала dataheadsvc: ССЫЛКА на процедуру NFSv3 не поддерживается запросом ReadLinkRequest
- ECS. Ошибка дублирования файлов cookie при выводе списка NFS
- ECS. Сбой монтирования NFS: файл или каталог не найдены или ERROR_OBJECT_NOT_FOUND
- ECS. Список файлов контейнера NFS, содержащего более 2 миллионов файлов, может работать медленно или не загружаться
- ECS. Подпапок или каталог, созданный с помощью браузера S3, не указан компьютером NFS Client/Linux, но содержимое подпапок отображается в основном или корневом каталоге.
- ECS. Ошибка удаленного ввода-вывода при попытке записи в контейнер с помощью NFS
- ECS. ошибки удаленного ввода-вывода NFS; Изменение владельца контейнера для контейнера с включенной файловой системы может привести к невозможности доступа приложений/пользователей к файлам NFS
- ECS. Запись NFS выдает ошибку ввода-вывода после определенного объема данных
- ECS. Использование общего файлового ресурса NFS из ECS с хранилищем данных VMware NFS
- ECS. Передовые подходы к установке экспорта ECS NFS
- ECS. Подключение общего ресурса NFS к клиенту Windows
- ECS. Сбой подключения NFS после изменения настроек экспорта файлов в пользовательском интерфейсе
- ECS. Совместимо ли приложение Oracle WebCenter Content (WCC) с ECS?
Вы можете подписаться на обновления, следуя инструкциям в статье базы знаний ниже:
DELL EMC: Как подписаться на страницы продуктов — служба поддержки Dell?
해당 제품
Elastic Cloud Storage제품
ECS Appliance, ECS Appliance Software with Encryption, ECS Appliance Software without Encryption, Elastic Cloud Storage문서 속성
문서 번호: 000055535
문서 유형: Solution
마지막 수정 시간: 25 3월 2025
버전: 4
다른 Dell 사용자에게 질문에 대한 답변 찾기
지원 서비스
디바이스에 지원 서비스가 적용되는지 확인하십시오.