Chyby vzdáleného I/O u NFS; Změna vlastníka kbelíku pro kbelíky s podporou FS může způsobit, že aplikace anebo uživatelé nebudou mít přístup k souborům NFS
Summary: Předchozí vlastník kbelíku není povolený nebo omezený. ObjectControllerException: Metoda updateObjectInternal není povolená pro předchozího vlastníka kbelíku.
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
Změna provedená uživatelem na stránce vlastníka kbelíku v uživatelském rozhraní:
Tento problém se týká kbelíků s povoleným systémem NFS a změny vlastníka kbelíku uživatelským rozhraním. To může způsobit, že připojené aplikace nebo uživatelé ztratí přístup ke kbelíku v systému souborů Linux. I když změnu vrátíme zpět k původnímu vlastníkovi, přístup nebude možný, což povede k DU.
V tomto příkladu:
Vlastník kbelíku byl změněn na "sham2" pomocí uživatelského rozhraní. Kvůli omezení v systému ECS i po změně jména vlastníka kbelíku zpět na "sham1". Systém ECS nezmění vlastníka kbelíku zpět na "sham1" pomocí uživatelského rozhraní. To lze prozatím provést pouze pomocí rozhraní příkazového řádku pomocí rozhraní API s datovou částí pro resetowner příznak na true.
Způsoby, jak identifikovat problém, na počítači se systémem Linux požádejte uživatele, aby se dotkl souboru, například:
Tento problém se týká kbelíků s povoleným systémem NFS a změny vlastníka kbelíku uživatelským rozhraním. To může způsobit, že připojené aplikace nebo uživatelé ztratí přístup ke kbelíku v systému souborů Linux. I když změnu vrátíme zpět k původnímu vlastníkovi, přístup nebude možný, což povede k DU.
V tomto příkladu:
Vlastník kbelíku byl změněn na "sham2" pomocí uživatelského rozhraní. Kvůli omezení v systému ECS i po změně jména vlastníka kbelíku zpět na "sham1". Systém ECS nezmění vlastníka kbelíku zpět na "sham1" pomocí uživatelského rozhraní. To lze prozatím provést pouze pomocí rozhraní příkazového řádku pomocí rozhraní API s datovou částí pro resetowner příznak na true.
Způsoby, jak identifikovat problém, na počítači se systémem Linux požádejte uživatele, aby se dotkl souboru, například:
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
Vytvoření kbelíku s konkrétním uživatelem jako vlastníkem a následná změna vlastnictví kbelíku. A nakonec, udělení plného řízení původnímu vlastníkovi pomocí stránky ACLs selže s výjimkou protokolu 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
Alternativním řešením je změnit vlastníka kbelíku pomocí rozhraní API prostřednictvím rozhraní příkazového řádku s datovou částí tak, aby resetowner příznak byl nastaven na true.
1. Určete aktuálního vlastníka kbelíku.
2. Vytvořte jednoduchý soubor XML pomocí editoru vi. V následujícím příkladu se nazývá /tmp/bucket-owner.xml. Jedná se o dvoustupňový proces. Musíme jej dočasně nastavit na nového vlastníka sham2. Stejně jako v tomto příkladu níže před nastavením zpět na původního vlastníka sham1 potvrďte výstup:
. 7. Po provedení změny konfigurace by se stejná chyba již neměla zobrazovat
1. Určete aktuálního vlastníka kbelíku.
K vygenerování tokenu je vyžadováno heslo uživatele root uživatelského rozhraní. Například:
admin@ecsnode1:~> tok=$(curl -iks https://XX.XX.XX.XX:4443/login -u 'root:ChangeMe' | grep X-SDS-AUTH-TOKEN)
Ověřte aktuálního vlastníka kbelíku (ve vaší situaci nahraďte kbelík a obor názvů):
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>
Tím se potvrdí, že parametr reset_previous_owners musí být nastaven na hodnotu true. Obnovený vlastník kbelíku je v uživatelském rozhraní, ale rozhraní API procházející rozhraním příkazového řádku potvrzuje, že systém ECS stále vidí vlastníka kbelíku jako "sham2".
2. Vytvořte jednoduchý soubor XML pomocí editoru vi. V následujícím příkladu se nazývá /tmp/bucket-owner.xml. Jedná se o dvoustupňový proces. Musíme jej dočasně nastavit na nového vlastníka sham2. Stejně jako v tomto příkladu níže před nastavením zpět na původního vlastníka sham1 potvrďte výstup:
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.
Syntaxe rozhraní API vyžadovaná ke změně vlastníka kbelíku na "sham2" prostřednictvím souboru XML je následující:
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.
Potvrďte, že změna vlastníka kbelíku je nyní "sham1".
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>
Po vrácení vlastníka kbelíku v rozhraní API ověřte, že hostitel má nyní přístup ke kbelíku v systému souborů Linux.
. 7. Po provedení změny konfigurace by se stejná chyba již neměla zobrazovat
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
Související článek NFS KB:
- Jak vytvořit základní export NFS a připojit jej na klienta
- ECS: Chyba streamování protokolu funkce dataheadsvc: Odkaz na postup NFSv3 není podporován v požadavku ReadLinkRequest
- ECS, Připojení NFS selhalo s chybou „No such file or directory“ nebo „ERROR_OBJECT_NOT_FOUND“
- Chyby vzdáleného I/O u NFS; Změna vlastníka kbelíku pro kbelíky s podporou FS může způsobit, že aplikace/uživatelé nebudou mít přístup k souborům NFS
- Při zápisu NFS dojde po určitém množství dat k chybě I/O.
- Použití sdílení souborů NFS ze systému ECS s datovým úložištěm VMware NFS
- Vzorové postupy pro připojení exportů ECS NFS
- ECS, Jak připojit sdílenou složku NFS na klientovi Windows
- Po změně nastavení exportu souborů v uživatelském rozhraní se připojení NFS nezdaří
- Je obsah Oracle WebCenter (WCC) kompatibilní se systémem ECS?
Přihlaste se k odběru novinek o produktech.
K odběru aktualizací se můžete přihlásit postupem podle pokynů v článku znalostní databáze níže:
DELL EMC: Jak se přihlásit k odběru stránek produktů – podpora 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: 29 Jul 2026
Version: 5
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.