On 16/06/15 10:23, Andrew Stuart wrote:
I meant how do *you* specify *the* block storage,
I hope you’ll understand when I answer your question by saying “I don’t define
any block storage”. Not explicitly. It happens in step 29 below where I
select a volume using the AWS console and select “attach” and I then attach it
to an instance. I don’t do any explicit device mapping. When I come to script
the process below I’ll be able to script device mappings but right now I’m just
manually (mostly) trying to make it work.
**** Antti -> would you like me to specify the block storage in a particular
way using command line tools, which I can do but do not currently do. If there is
a particular outcome you want let me know and I’ll do that.
This representation of the information I wanted is very illuminating and
enough for me, thanks! Code is always better, but it's indeed a waste
to time to write a publishable implementation when you don't yet fully
understand what you're trying to implement.
** prepare block device for nginx
1: create a 1 GB EBS volume using the AWS console
2: attach the EBS volume to my rump build server
3: format the EBS volume as ext2 with mkfs
4: mount the EBS volume to /mnt/ebs
5: copy into the EBS volume the nginx directory tree that contains the nginx
configuration and website files
6: unmount /mnt/ebs
7: from the AWS console, detach the EBS volume from the build server
** build the nginx unikernel
[snip]
** prepare block device which will be nginx kernel root block volume
18: create a 1 GB EBS volume using the AWS console
19: attach the EBS volume to my rump build server
20: format the EBS volume as ext4 with mkfs
21: mount the EBS volume to /mnt/ebs
22: run my hacked version of the mirage EC2 script, which installs grub and
writes the nginx kernel onto the target EBS volume
23: unmount /mnt/ebs & tune2fs -L ‘/' /dev/xvdf
24: using the AWS console, detach the EBS volume from the build server
What is the difference between the file systems starting from step "1"
and "18"? I thought one of the arguments in the other thread was that
you don't need to provision storage unless you want a block device. My
interpretation of the above is that you need to provision storage for
the binary too, so I'm a bit confused. Why isn't *one* block device
enough for both? Are we lacking partitioning tools, or what?
** prepare the nginx kernel on AWS for booting
29: Using the AWS console I attach the ext2fs block device prepared which
contains the nginx config files
Is there any configuration/options you pass at this step?