If you attached a new, blank disk to your VM, before you can use it you must format and mount the disk. If you attached a disk that already contains data, then you must mount the disk before you can use it.
Before you begin
-
If you haven't already, then set up authentication.
Authentication is
the process by which your identity is verified for access to Google Cloud services and APIs.
To run code or samples from a local development environment, you can authenticate to
Compute Engine by selecting one of the following options:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
REST
To use the REST API samples on this page in a local development environment, you use the credentials you provide to the gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
For more information, see Authenticate for using REST in the Google Cloud authentication documentation.
-
Connect to the VM
Go to the VM instances page.
Click the SSH button next to the instance that has the new attached disk. The browser opens a terminal connection to the VM.
Format a non-boot disk on a Linux VM
In the terminal, use the symlink created for your attached disk to determine which device to format.
ls -l /dev/disk/by-id/google-*
Unformatted disks don't have additional symlinks with
-partN
in the name.google-extra-scsi-disk -> ../../sdb google-instance-2 -> ../../sda google-instance-2-part1 -> ../../sda1 google-instance-2-part14 -> ../../sda14 google-instance-2-part15 -> ../../sda15 google-local-nvme-ssd-0 -> ../../nvme0n1 google-local-nvme-ssd-1 -> ../../nvme0n2
In this example, the new Persistent Disk was created with the name
extra-scsi-disk
. The device name for the new disk issdb
.Format the disk device using the
mkfs
tool. This command deletes all data from the specified disk, so make sure that you specify the disk device correctly.You can use any file format that you need, but we recommend a single
ext4
file system without a partition table. You can increase the size of your disk later without having to modify disk partitions.To maximize disk performance, use the recommended formatting options with the
-E
flag. It is not necessary to reserve space for the root volume on this secondary disk, so specify-m 0
to use all of the available disk space. The following command formats the entire disk with no partition table.$ sudo mkfs.FILE_SYSTEM_TYPE -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/DEVICE_NAME
Replace the following:
FILE_SYSTEM_TYPE
: the file system type. For example,ext2
,ext3
,ext4
, orxfs
.DEVICE_NAME
: the device name of the disk that you are formatting. For example, using the example output from the first step, you would usesdb
for the device name.
Mount the disk
Create a directory that serves as the mount point for the new disk on the VM. You can use any directory. The following example creates a directory under
/mnt/disks/
.$ sudo mkdir -p /mnt/disks/MOUNT_DIR
Replace
MOUNT_DIR
with the directory at which to mount disk.Use the mount tool to mount the disk to the instance, and enable the
discard
option:$ sudo mount -o discard,defaults /dev/DEVICE_NAME /mnt/disks/MOUNT_DIR
Replace the following:
DEVICE_NAME
: the device name of the disk to mount.MOUNT_DIR
: the directory in which to mount your disk.
Configure read and write permissions on the disk. For this example, grant write access to the disk for all users.
$ sudo chmod a+w /mnt/disks/MOUNT_DIR
Replace
MOUNT_DIR
with the directory where you mounted your disk.
Configure automatic mounting on VM restart
Add the disk to your /etc/fstab
file, so that the disk automatically
mounts again when the VM restarts. On Linux operating systems, the
device name can change with each reboot, but the device UUID always points
to the same volume, even when you move disks between systems. Because of this,
we recommend using the device UUID instead of the device name to configure
automatic mounting on VM restart.
Create a backup of your current
/etc/fstab
file.$ sudo cp /etc/fstab /etc/fstab.backup
Use the
blkid
command to list the UUID for the disk.$ sudo blkid /dev/DEVICE_NAME
/dev/DEVICE_NAME: UUID="a9e1c14b-f06a-47eb-adb7-622226fee060" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="593b3b75-108f-bd41-823d-b7e87d2a04d1"
Replace the following:
DEVICE_NAME
: the device name of the disk that you want to automatically mount. If you created a partition table on the disk, specify the partition that you want to mount by adding the suffix appended to the device name. For example, ifsdb
is the device name for the disk,sdb1
might be the name for the partition.
Open the
/etc/fstab
file in a text editor and create an entry that includes the UUID. For example:UUID=UUID_VALUE /mnt/disks/MOUNT_DIR FILE_SYSTEM_TYPE discard,defaults,MOUNT_OPTION 0 2
Replace the following:
UUID_VALUE
: the UUID of the disk, listed in the output of the previous stepMOUNT_DIR
: the directory where you mounted your diskFILE_SYSTEM_TYPE
: the file system type. For example,ext2
,ext3
,ext4
, orxfs
.MOUNT_OPTION
: specifies what the operating system does if it cannot mount the zonal persistent disk at boot time. For valid values, see The fourth field in the Linuxfstab
documentation. To let the system boot even if the disk is unavailable, use thenofail
mount option.
Use the
cat
command to verify that your/etc/fstab
entries are correct:$ cat /etc/fstab UUID=6B33-A686 /boot/efi vfat defaults 0 0 UUID=UUID_VALUE /mnt/disks/MOUNT_DIR FILE_SYSTEM_TYPE discard,defaults,MOUNT_OPTION 0 2
Always keep the /etc/fstab
file in sync with the devices that are attached to
a VM. If you want to detach a disk or create a snapshot from the boot disk
for a VM, edit the /etc/fstab
file and remove the entry for the disk. Even
if you set MOUNT_OPTION
to nofail
or nobootwait
,
remove the entry before you create your boot disk snapshot or detach the disk.
What's next
- Configure persistent device names for your added disks.
- Learn how to resize your persistent disks.
- Learn how to regularly back up your disks using snapshots to prevent unintended data loss.