ECS. Ошибки удаленного ввода-вывода NFS; Изменение владельца контейнера для контейнера с файловой системой может привести к тому, что приложения и/или пользователи не смогут получить доступ к файлам NFS
Summary: Предыдущий владелец контейнера не допускается и не ограничивает доступ к ObjectControllerException: Обновление методаОбнашниеВнальный не разрешен для предыдущего владельца контейнера
This article applies to
This article does not apply to
This article is not tied to any specific product.
Not all product versions are identified in this article.
Symptoms
Изменение, внесенные пользователем на страницу владельца контейнера в пользовательском интерфейсе:
Эта проблема относится к контейнерам с поддержкой 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
Cause
Создание контейнера с конкретным пользователем в качестве владельца, а затем изменение владельца контейнера. Наконец, предоставление исходному владельцу полного контроля с помощью страницы списков управления доступом завершается сбоем с исключением журнала 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.
Resolution
Временное решение проблемы — изменить владельца контейнера с помощью 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.
Additional Information
Связанные статьи базы знаний 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?
Affected Products
Elastic Cloud StorageProducts
ECS Appliance, ECS Appliance Software with Encryption, ECS Appliance Software without Encryption, Elastic Cloud StorageArticle Properties
Article Number: 000055535
Article Type: Solution
Last Modified: 25 Mar 2025
Version: 4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.