Изменение класса хранилища с мультирегионального на холодную линию в облачной платформе Google - PullRequest
0 голосов
/ 26 февраля 2019

Я только что закончил свою бесплатную пробную версию на 1 год с Google Cloud Platform, и мне сейчас выставляют счет.

Когда я запускаю свой первый проект, похоже, я настроил его как мультирегиональный.Я бы использовал Google Cloud Storage только в случае катастрофического сбоя в моем доме, когда я терял данные как на внутренних, так и на внешних жестких дисках (т. Е. На огне и т. Д.).Я считаю, что для такого типа резервного копирования мне нужно только хранилище Coldline.Я изменил свой проект на Coldline, но похоже, что он изменяет только новые данные, а не исходные сохраненные данные, потому что мне все еще платят за хранение в нескольких регионах

Насколько я понимаю, я должен изменить класс хранения объектов, либо перезаписав данные с помощью "gsutil rewrite -s [STORAGE_CLASS] gs://[PATH_TO_OBJECT]", либо с помощью управления жизненным укладом объектов.Я не мог понять, как это сделать, поэтому мне нужна помощь в этом (я даже не уверен, где набирать эти команды или какой подход использовать (я не программист !!)).

Я также видел в другом посте, что моей команде gsutil необходимо обновление до 4.22 или выше.Как мне это проверить ??В этом посте я также увидел, что [PATH_TO_OBJECT] - это моя корзина.Я вижу название проекта, идентификатор проекта и номер проекта.Какие из них (если таковые имеются) используются в этом поле для My Bucket?

Спасибо за любую помощь

1 Ответ

0 голосов
/ 26 февраля 2019

Я также видел в другом посте, что моя команда gsutil должна быть обновлена ​​до 4.22 или выше.Как это проверить ??

Получить версию gsutil:

gsutil version

Обновление Cloud SDK, включающее gsutil:

Windows: открыть командную строкус правами администратора

gcloud components update

Linux:

gcloud components update

Я вижу имя проекта, идентификатор проекта и номер проекта.Какие из них (если есть) используются в этом поле для My Bucket.

Используйте PROJECT_ID.Чтобы получить список проектов, к которым у вас есть доступ.Эта команда выведет список каждого проекта.

gcloud projects list

Чтобы узнать, какой проект используется по умолчанию:

gcloud config list project

Если проект по умолчанию пустой или неправильный, используйте следующую команду.

Чтобы установить проект по умолчанию:

gcloud config set project [PROJECT_ID]

Насколько я понимаю, я должен изменить класс хранения объектов либо перезаписывая данные

Предполагая, что ваше имя сегмента равно mybucket.

ШАГ 1. Изменить класс хранения по умолчанию для сегмента:

gsutil defstorageclass set coldline gs://mybucket

ШАГ 2. Изменить класс хранения для каждого объекта вручную.Это вариант, если вы хотите просто выбрать несколько файлов.

gsutil rewrite -s coldline gs://mybucket/objectname

ШАГ 3: Проверьте существующую политику жизненного цикла.Измените шаг 4 соответствующим образом, если существует существующая политика.

gsutil lifecycle get gs://mybucket

ШАГ 4: Измените жизненный цикл корзины.Эта политика переместит все файлы старше 7 дней в холодное хранилище.

POLICY (запись в lifecycle.json):

{
    "lifecycle": {
        "rule": [
        {
            "action": {
                "type": "SetStorageClass",
                "storageClass": "COLDLINE"
            },
            "condition": {
                "age": 7,
                "matchesStorageClass": [
                    "MULTI_REGIONAL",
                    "STANDARD",
                    "DURABLE_REDUCED_AVAILABILITY"
                ]
            }
        }
        ]
    }
}

Команда:

gsutil lifecycle set lifecycle.json gs://mybucket
...