diff --git a/ironic/drivers/utils.py b/ironic/drivers/utils.py
index e61d7ab866..07d7d4358b 100644
--- a/ironic/drivers/utils.py
+++ b/ironic/drivers/utils.py
@@ -272,6 +272,9 @@ def get_ramdisk_logs_file_name(node, label=None):
     """
     timestamp = timeutils.utcnow().strftime('%Y-%m-%d-%H-%M-%S')
     file_name_fields = [node.uuid]
+    if node.name:
+        file_name_fields.append(node.name)
+
     if node.instance_uuid:
         file_name_fields.append(node.instance_uuid)
 
diff --git a/ironic/tests/unit/drivers/test_utils.py b/ironic/tests/unit/drivers/test_utils.py
index 44e173c6b3..f2e79e8271 100644
--- a/ironic/tests/unit/drivers/test_utils.py
+++ b/ironic/tests/unit/drivers/test_utils.py
@@ -245,6 +245,14 @@ class UtilsRamdiskLogsTestCase(tests_base.TestCase):
                          + instance_uuid + '_2000-01-01-00-00-00.tar.gz')
         self.assertEqual(expected_name, name)
 
+        # with name
+        node_name = 'foo'
+        node3 = obj_utils.get_test_node(self.context, name=node_name)
+        name = driver_utils.get_ramdisk_logs_file_name(node3)
+        expected_name = ('1be26c0b-03f2-4d2e-ae87-c02d7f33c123_'
+                         + node_name + '_2000-01-01-00-00-00.tar.gz')
+        self.assertJsonEqual(expected_name, name)
+
     @mock.patch.object(driver_utils, 'store_ramdisk_logs', autospec=True)
     @mock.patch.object(agent_client.AgentClient,
                        'collect_system_logs', autospec=True)
diff --git a/releasenotes/notes/optimize-ramdisk-log-filename-270c401780b16e9c.yaml b/releasenotes/notes/optimize-ramdisk-log-filename-270c401780b16e9c.yaml
new file mode 100644
index 0000000000..64bf56f8ba
--- /dev/null
+++ b/releasenotes/notes/optimize-ramdisk-log-filename-270c401780b16e9c.yaml
@@ -0,0 +1,4 @@
+---
+features:
+  - |
+    The ramdisk log filename will contain the node name when it exists.