ECS: NFS-fjärr-I/O-fel; Byte av bucketägare för FS-aktiverad bucket kan leda till att program och/eller användare inte kan komma åt NFS-filer
Summary: Föregående bucketägare tillåts inte eller begränsas ObjectControllerException: Metoden updateObjectInternal tillåts inte för den tidigare bucketägaren
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
Ändring gjord av användaren på bucketens ägarsida i användargränssnittet:
Det här problemet gäller NFS-aktiverade bucketar och en ändring av bucketägaren i användargränssnittet. Detta kan leda till att program eller användare som är anslutna förlorar åtkomsten till bucketen i Linux-filsystemet. Även om vi återställer ändringen till den ursprungliga ägaren igen kommer åtkomst inte att vara möjlig, vilket leder till DU.
I det här exemplet:
Bucketägaren ändrades till "sham2" med hjälp av användargränssnittet. På grund av en begränsning i ECS bör bucketägarens namn återställas till "sham1" även efter att bucketägaren har ändrats tillbaka till "sham1". ECS ändrar inte bucketägaren tillbaka till "sham1" via användargränssnittet. Detta kan bara göras för tillfället med CLI som använder ett API med nyttolast för att återställa flaggan till true.
Sätt att identifiera problemet på Linux-datorn ber användaren att röra vid en fil, till exempel:
Det här problemet gäller NFS-aktiverade bucketar och en ändring av bucketägaren i användargränssnittet. Detta kan leda till att program eller användare som är anslutna förlorar åtkomsten till bucketen i Linux-filsystemet. Även om vi återställer ändringen till den ursprungliga ägaren igen kommer åtkomst inte att vara möjlig, vilket leder till DU.
I det här exemplet:
Bucketägaren ändrades till "sham2" med hjälp av användargränssnittet. På grund av en begränsning i ECS bör bucketägarens namn återställas till "sham1" även efter att bucketägaren har ändrats tillbaka till "sham1". ECS ändrar inte bucketägaren tillbaka till "sham1" via användargränssnittet. Detta kan bara göras för tillfället med CLI som använder ett API med nyttolast för att återställa flaggan till true.
Sätt att identifiera problemet på Linux-datorn ber användaren att röra vid en fil, till exempel:
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
Skapa en bucket med en specifik användare som ägare, följt av en ändring av ägarskapet för bucketen. Slutligen misslyckas det att ge den ursprungliga ägaren fullständig kontroll med hjälp av ACL-sidan med ECS-loggundantaget:
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
Lösningen är att ändra bucketägaren med hjälp av API:et via CLI med nyttolast till resetowner flaggan till true.
1. Ta reda på den aktuella bucketägaren.
2. Skapa en enkel XML-fil med hjälp av vi-redigeraren. I exemplet nedan kallas det /tmp/bucket-owner.xml. Detta är en process i två steg. Vi måste ställa in den på en ny ägare tillfälligt av sham2. Som i det här exemplet nedan, innan du återställer till den ursprungliga ägaren sham1, bekräftar du utdata:
. 7. När konfigurationsändringen är klar bör vi inte se samma fel längre
1. Ta reda på den aktuella bucketägaren.
Kräv rotlösenordet för användargränssnittet för att generera TOKEN. Till exempel:
admin@ecsnode1:~> tok=$(curl -iks https://XX.XX.XX.XX:4443/login -u 'root:ChangeMe' | grep X-SDS-AUTH-TOKEN)
Kontrollera den aktuella bucketägaren (ersätt bucket och namnområde i din situation):
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>
Detta bekräftar att parametern reset_previous_owners måste anges till true. Den återställda bucketägaren finns i användargränssnittet, men API:t via CLI bekräftar att ECS fortfarande ser bucketägaren som "sham2".
2. Skapa en enkel XML-fil med hjälp av vi-redigeraren. I exemplet nedan kallas det /tmp/bucket-owner.xml. Detta är en process i två steg. Vi måste ställa in den på en ny ägare tillfälligt av sham2. Som i det här exemplet nedan, innan du återställer till den ursprungliga ägaren sham1, bekräftar du utdata:
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.
Den API-syntax som krävs för att ändra bucketägaren till "sham2" via xml-filen är följande:
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.
Bekräfta att bytet av bucketägare nu är "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>
När bucketägaren har återställts till API:et bekräftar du att värden nu kan komma åt bucketen i Linux-filsystemet.
. 7. När konfigurationsändringen är klar bör vi inte se samma fel längre
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
Relaterad NFS-kunskapsbas:
- ECS: Så här skapar du en grundläggande NFS-export och monterar den på en klient
- ECS: dataheadsvc-loggströmningsfel: NFSv3-procedur LINK stöds inte i begäran ReadLinkRequest
- ECS: NFS-montering misslyckas med Ingen sådan fil, katalog eller ERROR_OBJECT_NOT_FOUND
- ECS: NFS-fjärr-I/O-fel; Byte av bucketägare för FS-aktiverad bucket kan leda till att program/användare inte kan komma åt NFS-filer
- ECS: NFS-skrivning ger I/O-fel efter en viss mängd data.
- ECS: Använda NFS-filresurs från ECS med ett VMware NFS-datalager
- ECS: Bästa praxis för montering av ECS NFS-exporter
- ECS: Så här monterar du NFS-resurs på Windows-klienten
- ECS: NFS kan inte monteras efter att filexportinställningarna har ändrats i användargränssnittet
- ECS: Är Oracle WebCenter Content (WCC) kompatibelt med ECS?
Prenumerera på produktuppdateringar.
Du kan prenumerera på uppdateringar genom att följa instruktionerna i kunskapsbasartikeln nedan:
DELL EMC: Så här prenumererar du på produktsidor – Dells support?
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.