# Создать файловое хранилище


{% note info %}

В [регионе Казахстан](../../../overview/concepts/region.md) доступна только [зона доступности](../../../overview/concepts/geo-scope.md) `kz1-a`.

{% endnote %}


Чтобы создать [файловое хранилище](../../concepts/filesystem.md):

{% list tabs group=instructions %}

- Консоль управления {#console}

  1. В [консоли управления](https://kz.console.yandex.cloud) выберите [каталог](../../../resource-manager/concepts/resources-hierarchy.md#folder), в котором нужно создать файловое хранилище.
  1. Перейдите в сервис **Compute Cloud**.
  1. На панели слева выберите ![image](../../../_assets/console-icons/nodes-right.svg) **Файловые хранилища**.
  1. Нажмите кнопку **Создать файловое хранилище**.
  1. Введите имя файлового хранилища.

     * Длина — от 3 до 63 символов.
     * Может содержать строчные и заглавные буквы латинского и русского алфавита, цифры, дефисы, подчеркивания и пробелы.
     * Первый символ должен быть буквой. Последний символ не может быть дефисом, подчеркиванием или пробелом.

  1. (Опционально) Добавьте описание файлового хранилища.
  1. Выберите [зону доступности](../../../overview/concepts/geo-scope.md). Файловое хранилище можно подключить только к [виртуальным машинам](../../concepts/vm.md) из той же зоны доступности.
  1. Выберите [тип файлового хранилища](../../concepts/filesystem.md#types).

     {% note warning %}

     Зону доступности и тип файлового хранилища нельзя изменить после его создания.

     {% endnote %}

  1. Укажите размер блока и размер диска файлового хранилища.
  1. Нажмите кнопку **Создать**.

- CLI {#cli}

  Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), [установите и инициализируйте его](../../../cli/quickstart.md#install).

  По умолчанию используется каталог, указанный при [создании](../../../cli/operations/profile/profile-create.md) профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду `yc config set folder-id <идентификатор_каталога>`. Также для любой команды вы можете указать другой каталог с помощью параметров `--folder-name` или `--folder-id`. Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.

  1. Посмотрите описание команды [CLI](../../../cli/index.md) для создания файлового хранилища:

      ```bash
      yc compute filesystem create --help
      ```

  1. Создайте файловое хранилище в [каталоге](../../../resource-manager/concepts/resources-hierarchy.md#folder) по умолчанию:

      ```bash
      yc compute filesystem create \
        --name <имя_файлового_хранилища> \
        --type <тип_файлового_хранилища> \
        --zone <зона_доступности> \
        --size <размер_файлового_хранилища> \
        --labels <ключ>=<значение>
      ```

      Где:
      * `--name` — имя файлового хранилища. Требования к имени:

        * длина — от 3 до 63 символов;
        * может содержать строчные буквы латинского алфавита, цифры и дефисы;
        * первый символ — буква, последний — не дефис.

      * `--type` — [тип файлового хранилища](../../concepts/filesystem.md#types). Возможные значения: `network-hdd` или `network-ssd`.
      * `--zone` — [зона доступности](../../../overview/concepts/geo-scope.md).
      * `--size` — размер файлового хранилища. Необязательный параметр. Значение по умолчанию 150 ГБ.

        По умолчанию значение задается в байтах. Чтобы указать размер в мегабайтах или гигабайтах, используйте суффиксы `M` и `G`. Например: `2048M` или `2G`.

      * `--labels` — [метки](../../../resource-manager/concepts/labels.md) файлового хранилища в формате `<ключ>=<значение>`. Необязательный параметр.

        Чтобы указать несколько меток, перечислите их через запятую: `<ключ_1>=<значение_1>,<ключ_2>=<значение_2>,...,<ключ_n>=<значение_n>`.

      Результат:

      ```yml
      done (11s)
      id: epdcago8e5lr********
      folder_id: b1gt6g8ht345********
      created_at: "2024-05-02T05:56:39Z"
      name: my-sample-fs
      labels:
        key1: value1
        key2: value2
        key3: value3
      type_id: network-hdd
      zone_id: kz1-a
      size: "1073741824"
      status: READY
      ```

- Terraform {#tf}

  Если у вас еще нет Terraform, [установите его и настройте провайдер Yandex Cloud](../../../tutorials/infrastructure-management/terraform-quickstart.md#install-terraform).
  
  
  Чтобы управлять инфраструктурой с помощью Terraform от имени сервисного аккаунта или пользовательских аккаунтов: аккаунта на Яндексе, федеративного аккаунта и локального пользователя, [аутентифицируйтесь](../../../terraform/authentication.md) соответствующим способом.

  1. Опишите в конфигурационном файле параметры ресурсов, которые необходимо создать:

     ```hcl
     provider "yandex" {
       zone = "kz1-a"
     }

     resource "yandex_compute_filesystem" "default" {
       name   = "<имя_файлового_хранилища>"
       type   = "<тип_файлового_хранилища>"
       zone   = "<зона_доступности>"
       size   = <размер_файлового_хранилища>
       labels = {
         <ключ_метки_1> = "<значение_метки_1>"
         <ключ_метки_2> = "<значение_метки_2>"
       }
     }
     ```

     Где:
     * `name` — имя файлового хранилища. Обязательный параметр.
     * `type` — [тип файлового хранилища](../../concepts/filesystem.md#types). Возможные значения: `network-hdd` или `network-ssd`. По умолчанию выбирается тип файлового хранилища `network-hdd`. Необязательный параметр.
     * `zone` — [зона доступности](../../../overview/concepts/geo-scope.md). Необязательный параметр.
     * `size` — размер файлового хранилища в ГБ. Необязательный параметр. Значение по умолчанию 150 ГБ.
     * `labels` — [метка](../../../resource-manager/concepts/labels.md) ресурса в формате `<ключ> = "<значение>"`. Необязательный параметр.

      Более подробную информацию о параметрах ресурса `yandex_compute_filesystem` в Terraform читайте в [документации провайдера](../../../terraform/resources/compute_filesystem.md).
  1. Создайте ресурсы:

     1. В терминале перейдите в директорию с конфигурационным файлом.
     1. Проверьте корректность конфигурации с помощью команды:
     
        ```bash
        terraform validate
        ```
     
        Если конфигурация является корректной, появится сообщение:
     
        ```bash
        Success! The configuration is valid.
        ```
     
     1. Выполните команду:
     
        ```bash
        terraform plan
        ```
     
        В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
     1. Примените изменения конфигурации:
     
        ```bash
        terraform apply
        ```
     
     1. Подтвердите изменения: введите в терминале слово `yes` и нажмите **Enter**.

  После этого в указанном [каталоге](../../../resource-manager/concepts/resources-hierarchy.md#folder) будет создано файловое хранилище. Проверить появление файлового хранилища и его настройки можно в [консоли управления](https://kz.console.yandex.cloud) или с помощью команды [CLI](../../../cli/index.md):

  ```bash
  yc compute filesystem get <имя_файлового_хранилища>
  ```

- API {#api}

  Воспользуйтесь методом REST API [create](../../api-ref/Filesystem/create.md) для ресурса [Filesystem](../../api-ref/Filesystem/index.md) или вызовом gRPC API [FilesystemService/Create](../../api-ref/grpc/Filesystem/create.md).

{% endlist %}