Esta página mostra como editar uma instância do Filestore através da Google Cloud consola ou da CLI gcloud.
Depois de criada, pode modificar uma instância do Filestore das seguintes formas:
- Aumentar a sua capacidade
- Diminua a capacidade dos seguintes níveis de serviço:
- Zonal
- Regional
- Enterprise
- Configure o desempenho
- Alterar a descrição
- Faça a gestão das regras de controlo de acesso baseadas em IP
- Faça a gestão das etiquetas
- Para mais informações, consulte o artigo Gerir etiquetas.
Para ver detalhes sobre como dimensionar a capacidade, consulte o artigo Dimensionar a capacidade.
Determinadas especificações, como o endereço IP da instância, são imutáveis.
Instruções para editar uma instância
Google Cloud consola
Para editar instâncias do Filestore através da Google Cloud consola, navegue para a página Editar instância, onde pode editar a descrição da instância, gerir regras de controlo de acesso baseadas em IP e dimensionar o desempenho da partilha de ficheiros:
Na Google Cloud consola, aceda à página Instâncias do Filestore.
Clique no ID da instância da instância que quer editar.
Na página Detalhes da instância, clique em Editar para aceder à página Editar instância.
Altere a descrição da instância, as regras de controlo de acesso baseadas em IP e a capacidade conforme necessário. Para ver detalhes, consulte o artigo Criar instâncias.
Clique em Guardar.
gcloud
Antes de começar
Para usar a CLI gcloud, tem de instalar a CLI gcloud ou usar o Cloud Shell integrado na Google Cloud consola:
Comando gcloud
para editar uma instância
Pode editar uma instância do Filestore executando o comando instances
update
. Se precisar de atualizar as regras de configuração para o controlo de acesso baseado em IP, tem de usar a flag --flags-file
e especificar um ficheiro de configuração JSON. Se escolher este método, não precisa de usar a flag --file-share
porque já está incluída no ficheiro de configuração JSON.
gcloud filestore instances update INSTANCE_ID
--[project="PROJECT_ID"]
--[location=LOCATION]
--[performance=PERFORMANCE] \
--[file-share=name="FILE_SHARE_NAME",CAPACITY=FILE_SHARE_SIZE]
--[description="DESCRIPTION"]
--[flags-file=FILE_NAME.json]
where:
- INSTANCE_ID é o ID da instância do Filestore que quer editar.
PROJECT_ID é o ID do projeto do projeto que contém a instância do Filestore. Google Cloud Pode ignorar esta flag se a instância do Filestore estiver no projeto
gcloud
predefinido. Pode definir o projeto predefinido executando o seguinte comando:gcloud config set project project-id
LOCATION é a localização onde a instância do Filestore reside. Para instâncias regionais e empresariais, especifique uma região. Para todas as outras instâncias, especifique uma zona. Execute o comando
gcloud filestore zones list
para obter uma lista de zonas suportadas. Pode ignorar esta flag se a instância do Filestore estiver na zonagcloud
predefinidagcloud
. Pode definir a zona predefinida executando o seguinte comando:gcloud config set filestore/zone zone
PERFORMANCE é a configuração de desempenho usada para especificar definições de desempenho personalizadas independentemente da capacidade escolhida.
Só pode usar uma das seguintes opções:
max-iops-per-tb
especifica uma taxa de IOPS por TiB que é dimensionada linearmente com a capacidade da instância.max-iops
especifica uma taxa de IOPS fixa que não é dimensionada com a capacidade da instância.O formato tem o seguinte aspeto:
--performance=max-iops-per-tb=17000
FILE_SHARE_NAME é o nome da partilha de ficheiros publicada a partir da instância do Filestore. Não é possível alterar os nomes das partilhas de ficheiros após a criação da instância.
FILE_SHARE_SIZE é o novo tamanho que quer para a partilha de ficheiros. Pode especificar o tamanho da partilha de ficheiros em números inteiros usando
GiB
(predefinição) ouTiB
.Para ver a sua quota disponível, aceda à página Quotas na Google Cloud consola:
DESCRIPTION é a descrição opcional da instância do Filestore.
FILE_NAME é o nome do ficheiro de configuração JSON para o controlo de acesso baseado em IP.
Exemplo de ficheiro de configuração JSON:
{ "--file-share": { "capacity": "4096", "name": "my_vol", "nfs-export-options": [ { "access-mode": "READ_WRITE", "ip-ranges": [ "10.0.0.0", "10.2.0.0" ], "squash-mode": "ROOT_SQUASH", "anon_uid": 1003, "anon_gid": 1003 }, { "access-mode": "READ_ONLY", "ip-ranges": [ "10.0.1.0/28" ], "squash-mode": "NO_ROOT_SQUASH" } ], } }
where:
- ip-ranges é o endereço IP ou o intervalo ao qual conceder acesso. Pode especificar vários endereços IP ou intervalos separando-os com uma vírgula.
Apenas os seguintes níveis de serviço suportam definições de configuração para
intervalos de endereços IP sobrepostos:
- Zonal
- Regional
- Enterprise
- access-mode é o nível de acesso a conceder aos clientes cujo endereço IP se enquadra no intervalo ip-range. Pode ter os valores
READ_WRITE
ouREAD_ONLY
. O valor predefinido éREAD_WRITE
. - squash-mode pode ter os valores
ROOT_SQUASH
ouNO_ROOT_SQUASH
.ROOT_SQUASH
remove o acesso ao nível da raiz dos clientes cujo endereço IP se enquadra no intervalo ip-range, enquantoNO_ROOT_SQUASH
ativa o acesso à raiz. O valor predefinido éNO_ROOT_SQUASH
. - anon_uid é o valor do ID do utilizador que quer mapear para
anon_uid
. O valor predefinido é65534
. - anon_gid é o valor do ID do grupo que quer mapear para
anon_gid
. O valor predefinido é65534
.
- ip-ranges é o endereço IP ou o intervalo ao qual conceder acesso. Pode especificar vários endereços IP ou intervalos separando-os com uma vírgula.
Apenas os seguintes níveis de serviço suportam definições de configuração para
intervalos de endereços IP sobrepostos:
Exemplo
O exemplo seguinte atualiza a instância nfs-server
aumentando o tamanho da partilha de ficheiros para 3 TiB
.
gcloud filestore instances update nfs-server --zone=us-central1-c --file-share=name="vol1",capacity=3TiB
```
API REST
Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API Filestore:curl --request PATCH \ 'https://file.googleapis.com/v1/projects/PROJECT/locations/LOCATION/instances?instanceId=NAME?updateMask=performanceConfig%2CdeletionProtectionReason%2CdeletionProtectionEnabled&key=YOUR_API_KEY' \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --data '{ "tier":"TIER", "networks":[ { "network":"NETWORK" } ], "performanceConfig": {"PERFORMANCE"} "fileShares":[ {"capacityGb":CAPACITY,"name":"SHARE_NAME"} ], "deletionProtectionEnabled": true, "deletionProtectionReason": "PROTECTION_REASON"}' \ --compressed
Onde:
PROJECT
é o nome do projeto onde a sua instância vai residir. Por exemplo,my-genomics-project
.LOCATION
é a localização onde a instância vai residir. Por exemplo,us-east1
ouus-central1-a
.NAME
é o nome da instância que quer criar. Por exemplo,my-genomics-instance
.PERFORMANCE
é a configuração de desempenho usada para especificar definições de desempenho personalizadas.Só pode usar uma das opções apresentadas.
iopsPerTB
permite um desempenho personalizado com uma taxa de IOPS definida pelo utilizador que é dimensionada com a capacidade da instância. Para definir IOPS por TiB, use o campomaxIopsPerTb
.fixedIops
permite o custo e o desempenho com uma taxa de IOPS fixa que não é escalável com a capacidade da instância. Para definir um valor de IOPS fixo, use o campomaxIops
.O formato é o seguinte:
"performanceConfig": { "iopsPerTb" : { "maxIopsPerTb":17000 } }
CAPACITY
é o tamanho, em GiB, que quer atribuir à instância. Por exemplo,1024
.SHARE_NAME
é o nome da partilha de ficheiros. Por exemplo,vol1
.PROTECTION_REASON
se optar por usar a sinalizaçãodeletionProtectionEnabled
, tem a opção de adicionar uma nota relativa à definição. Para adicionar a nota, use a flagdeletionProtectionReason
opcional e inclua uma descrição da justificação para a definição que escolheu. Por exemplo, "Todos os dados genómicos têm de cumprir as políticas atuais da organização." Para mais informações, consulte o artigo Proteção contra eliminação.
Exemplo
O exemplo seguinte atualiza a instância
nfs-server
diminuindo a taxa de IOPS por TiB para12000
.curl --request PATCH \ 'https://file.googleapis.com/v1/projects/my-project/locations/us-central1/instances?instanceId=nfs-server?updateMask=performanceConfig%2CdeletionProtectionReason&key=12334fr232' \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --data '{ "performanceConfig": { "iopsPerTb": { "maxIopsPerTb":12000 } }, "deletionProtectionReason":"Deletion+not+allowed"}' \ --compressed
O que se segue?
- Crie outra instância.
- Monte a partilha de ficheiros do Filestore numa instância de VM do Compute Engine.
- Aceda às instâncias do Filestore com o controlador CSI do Filestore.
- Capacidade de expansão