Today I'm working on OpenStack Block Storage (otherwise known as Cinder).
1. What are the two classes of block storage that OpenStack provides?
- Ephemeral storage and persistent volumes
2. Does ephemeral storage persist across reboots / restarts?
- Yes. But if you delete (terminate) an instance, the associated ephemeral storage is lost.
3. Can independent volumes be accessed from multiple instances at once?
- No. For that, you need a traditional network filesystem like NFS or CIFS, or a cluster filesystem like GlusterFS. Volumes can, however, be detached and reattached to other instances.
4. What are the 4 services available in OpenStack Block Storage?
- cinder-api (authenticates and routes requests throughout the Block Storage system)
- cinder-scheduler (schedules and routes requests to the appropriate volume service)
- cinder-volume (manages back-end Block Storage devices)
- cinder-backup (backs up Cinder volumes to OpenStack Object Store (Swift)
5. In what scenarios would you want to use OpenStack Block Storage?
- Performance sensitive scenarios such as database storage
- Expandable file systems
- Providing a server with access to raw block level storage
6. What storage limits can you set via tenant (project) quota controls?
- Number of volumes per tenant
- Number of snapshots that may be created
- Number of gigabytes allowed per tenant (gigabytes are shared between snapshots and volumes)
7. What are volumes?
- Volumes are block storage resources that can be attached to instances as secondary storage or they can be used as the root store to boot instances. Volumes are persistent. They are read/write block storage devices most commonly attached to the compute node via iSCSI.
8. What is the name of the cinder configuration file?
9. What is the difference between a snapshot and a backup?
- A snapshot is a read-only point in time copy of a volume. You can create a new volume from the snapshot.
- A backup is an archived copy of a volume that is stored in Object Storage (Swift)
10. What is the command used to create snapshot of a server?
- Ex. nova image-create myCirrosServer myCirrosImage
11. What command do you use to check image status?
- nova image-show IMAGE
12. What command do you use to launch an instance from your image?
- Ex. nova boot newServer --image 7e5142af-1253-4634-bcc6-89482c5f2e8a --flavor 3
13. Which logs do you need to check when troubleshooting image creation?
- /var/log/nova-api.log and /var/log/nova-compute.log
14. What command do you use to list volumes?
- cinder list
15. What command do you use to boot an instance from an image and attach an empty volume to that instance?
- Ex. nova boot --flavor 2 --image 98901246-af91-43d8-b5e6-a4506aa8f369 --block-device source=volume,id=d620d971-b160-4c4e-8652-2513d74e2080,dest=volume,shutdown=preserve myInstanceWithVolume